亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

vue2 this 問題

vue2 this 問題

拉莫斯之舞 2018-10-16 13:35:22
https://cn.vuejs.org/v2/guide...屬性與方法中說不要在實例屬性或者回調函數中使用箭頭函數,為什么生命周期方法中剛好相反?<script>   export default{    data: function () {      return {        loading: false,        txt: '123'       }     },     beforeMount(){       setTimeout(() => {        console.log(this)// vue 實例       }, 1000)       setTimeout(function () {        console.log(this)// window       }, 2000)     }   }</script>
查看完整描述

1 回答

?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

生命周期函數中的this都是指向Vue實例的,如你的代碼所示,在函數beforeMount中,如果要在setTimeout依然使用到執行Vue實例的this,那么最好是箭頭函數。

在文檔中:vm.$watch('a', newVal => this.myMethod())

本來這樣寫vm.$watch('a', function(){this.myMethod()}); //this指向VUe實例

這樣使用箭頭函數的話,this就指向Vue實例了,而是執行你的上下文中的this。所以特別提示。


查看完整回答
反對 回復 2018-11-05
  • 1 回答
  • 0 關注
  • 521 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號