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();
}
}