Vue中回調函數內使用this無效


例如如下代碼(部分),利用回調函數實現登錄成功后隱藏會話。

then(function(resp){
console.log(resp);
alert("登錄成功");
that.dialogFormVisible = false;
}).catch(function(error){})
 
其中:dialogFormVisible是data中定義的數據

一般來說可以直接通過this.調用dialogFormVisible。

但是回調函數中無法識別this。導致 that.dialogFormVisible = false 該語句失效

解決方法一

在方法中定義變量儲存this,例如var that = this; 然后再回調函數中使用that調用

解決方法二:

使用ES6語句

本例中更改代碼為:

then( (resp) => {
console.log(resp);
alert("登錄成功");
that.dialogFormVisible = false;
}).catch(function(error){})
————————————————
版權聲明:本文為CSDN博主「Libra_Jayden」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_44891863/article/details/113607496


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM