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