vue中的this指向


首先要注意的是,JS中的this的指向只有在函數被調用后才能被確定,在函數的定義階段是確定不了的

在JS中this的指向一般有四種規則

  • 一個函數作為對象的方法被調用時,這個函數中的this指向調用它的對象
  • 以構造函數的形式進行調用時,this指向new出來的實例對象
  • 以函數的形式直接進行調用時,這個函數中的this指向window
  • 通過call()和apply()等方法調用時,this是指定的那個對象

在JS的框架下,vue中this的指向有以下規則

  • data中的this指向window
  • 所有的生命周期函數中的this都指向vue實例對象
  • vue的v-on指令中可以接收JS語句,其中的this是window(vue組件中的v-on指令除外)
  • computed中的this指向vue實例對象
  • methods中的this有以下幾種情況
    • 普通函數的this指向vue實例對象
    • 箭頭函數沒有自己的this,因此this指向其宿主對象的this(注意宿主對象是函數對象(它被調用后this的指向要進行具體分析),簡單對象沒有this)
    • 普通函數形式的回調函數的this是window,箭頭函數形式的回調函數的this遵循箭頭函數的原則(大多數情況下是vue實例對象)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM