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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM