在vue开发中会遇到methods方法里有一个函数嵌套另一个函数,最内层函数this取不到data数据,该怎么解决?
Posted coderkey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在vue开发中会遇到methods方法里有一个函数嵌套另一个函数,最内层函数this取不到data数据,该怎么解决?相关的知识,希望对你有一定的参考价值。
一,问题
在vue的methods方法中两个函数互相嵌套,最内层函数this取不到data数据
二,原因
this的指向问题
三,解决方法
(1)给最外层函数this重新赋值给一个变量
methods:
/** 给最外层函数this重新赋值 */
t3()
console.log('函数外',this.msgData); // codekey
let _this = this
let t4 = function()
console.log('函数内',_this.msgData); // codekey
t4()
(2)使用箭头函数
methods:
/** 箭头函数 */
t5()
console.log('函数外',this.msgData); // codekey
let t6 = () =>
console.log('函数内',this.msgData); // codekey
t6()
以上是关于在vue开发中会遇到methods方法里有一个函数嵌套另一个函数,最内层函数this取不到data数据,该怎么解决?的主要内容,如果未能解决你的问题,请参考以下文章
在vue开发中会遇到methods方法里有一个函数嵌套另一个函数,最内层函数this取不到data数据,该怎么解决?