鍍金池/ 問答/HTML/ vue 在nextTick中寫了一個(gè)監(jiān)聽事件scroll,為什么DOM還沒渲染完

vue 在nextTick中寫了一個(gè)監(jiān)聽事件scroll,為什么DOM還沒渲染完畢,監(jiān)聽事件就已經(jīng)執(zhí)行?

從別的scroll的頁面跳轉(zhuǎn)到此頁面的時(shí)候,觸發(fā)了這個(gè)頁面的scroll事件監(jiān)聽,但是此頁面的dom并沒有渲染,所以執(zhí)行回調(diào)函數(shù)的時(shí)候報(bào)錯(cuò)。

代碼如下:

mounted () {
    this.$nextTick(() => {
      initStyle(); 
      window.addEventListener('scroll', this.onScroll);  
    });
  },
  

vue的nexTick中的回調(diào)函數(shù),不是應(yīng)該DOM更新后再執(zhí)行的么?那為什么頁面還沒更新,監(jiān)聽事件已經(jīng)執(zhí)行了?求大神解答。。

回答
編輯回答
怪痞

mounted就是dom已經(jīng)掛載完成了, 如果你是更新這個(gè)頁面 那應(yīng)該是updated 里面監(jiān)聽scroll

2018年5月18日 09:58
編輯回答
枕頭人

認(rèn)真看文檔

圖片描述

圖片描述

2017年4月5日 04:44