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