在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数据,该怎么解决?

Vue2的生命周期

vue开发computed,watch,method执行的先后顺序

vue生命周期 部分

vue methods中一个函数调用另外一个函数

vue生命周期的使用