Vue中export default{}方法怎么调用内部方法?

比如说如下这种情况

export default{ a: function(){ // 内容 }, b: function(){ this.a(); // 此处怎么调用a的方法,这样调用报错了 } }

使用this.方法和this.$options.methods.方法 都会出现报错

以上情况是this定义指向问题

普通函数中的this:

代表它的直接调用者(js的this是执行上下文), 例如 obj.cal() ,那么cal()方法中的this就是obj

若没找到直接调用者,则this指的是 window (常见的window的属性和方法有: alert, location,document,parseInt,setTimeout,setInterval等)或者 undefined

箭头函数中的this:

箭头函数没有自己的this, 它的this是继承而来; 默认指向在定义它时所处的

对象(宿主对象)

将代码改成箭头函数即可解决问题

export default{
   a:()=>{
    // 内容
   },
   b: ()=>{ 
  this.a();
}
}
 
posted @ 2021-12-29 17:10  学习王  阅读(2191)  评论(0编辑  收藏  举报