<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        vue中使用refs定位dom出現undefined的解決方法

        來源:懂視網 責編:小采 時間:2020-11-27 22:23:07
        文檔

        vue中使用refs定位dom出現undefined的解決方法

        vue中使用refs定位dom出現undefined的解決方法:之前在公司做項目,一直感覺用ref來定位dom節點挺方便的。但是期間遇到了一個問題,就是在mounted(){}鉤子里面使用this.$refs.xxx,打印出來的卻是undefined? 于是我就對比了一下之前使用ref定位的.vue文件,發現了他們之間的區別。 我們要想知道為什么會定
        推薦度:
        導讀vue中使用refs定位dom出現undefined的解決方法:之前在公司做項目,一直感覺用ref來定位dom節點挺方便的。但是期間遇到了一個問題,就是在mounted(){}鉤子里面使用this.$refs.xxx,打印出來的卻是undefined? 于是我就對比了一下之前使用ref定位的.vue文件,發現了他們之間的區別。 我們要想知道為什么會定

        之前在公司做項目,一直感覺用ref來定位dom節點挺方便的。但是期間遇到了一個問題,就是在mounted(){}鉤子里面使用this.$refs.xxx,打印出來的卻是undefined?

        于是我就對比了一下之前使用ref定位的.vue文件,發現了他們之間的區別。

        我們要想知道為什么會定位不到某個DOM節點,我們首先要理解mounted(){}這個鉤子函數是用來做什么的。

        下面是vue官方給出的vue生命周期(部分),正如官方所說的一樣,一開始不必先理解,不過隨這你的學習與使用,他的參考價值會越來越高。

         

        原來,mounted階段,DOM結構準備就緒,但是這里的準備就緒需要特別說明一下:

        DOM結構已經出來了,但是如果在DOM結構中的某個DOM節點使用了v-if、v-show或者v-for(即根據獲得的后臺數據來動態操作DOM,即響應式),那么這些DOM是不會再mounted階段找到的。

        此時的mounted階段,一般是用于發起后端請求,拿回數據,配合路由鉤子做一些事情,簡單來說就是在mounted鉤子中加載數據而已,加載回來的數據是不會再這個階段更新的DOM中的

        所以如果在mounted鉤子中使用$refs,如果ref是定位在有v-if、v-for、v-show中的DOM節點,返回來的只能是undefined,因為在mounted階段他們根本不存在!!

        經過檢驗,上面端文字是錯誤的,$refs定位不到的主要原因是因為v-if、v-for、v-show這些語句如果依賴父組件傳來的參數的話,該該參數是在mounted()階段子還沒獲取得到~~~~!!!!

        如果想要真正地在DOM加載完成后拿到數據,就需要調用VUE的全局api : this.$nextTick(() => {})

        如果說mounted階段是加載階段,那么updated階段則是完成了數據更新到DOM的階段(對加載回來的數據進行處理),此時,ref、數據等等全部都掛載到DOM結構上去,在update階段使用this.$refs.xxx,就100%能找到該DOM節點。

        updated與mounted不同的是,在每一次的DOM結構更新,vue都會調用一次updated(){}鉤子函數!而mounted僅僅只執行一次而已

        簡單來說,只要在調試的時候,能看到元素的存在,在updated階段都可以使用this.$refs.xxx找到對應的DOM節點!

        關于$refs的使用,官方文檔特別給出了以下提示:

         

        使用的時候就注意咯- -

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        vue中使用refs定位dom出現undefined的解決方法

        vue中使用refs定位dom出現undefined的解決方法:之前在公司做項目,一直感覺用ref來定位dom節點挺方便的。但是期間遇到了一個問題,就是在mounted(){}鉤子里面使用this.$refs.xxx,打印出來的卻是undefined? 于是我就對比了一下之前使用ref定位的.vue文件,發現了他們之間的區別。 我們要想知道為什么會定
        推薦度:
        標簽: 使用 VUE 里面使用
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 99久久亚洲精品无码毛片| 亚洲人成网站在线观看播放| 亚洲三级视频在线| 国产电影午夜成年免费视频| 亚洲美女免费视频| 国产成人精品免费视频动漫| 亚洲视频在线免费播放| **真实毛片免费观看| 亚洲国产精品美女| 国产成人A在线观看视频免费| 亚洲一区二区三区在线网站 | 亚洲精品高清国产一线久久| 国产日韩在线视频免费播放| 77777亚洲午夜久久多人| 国产午夜成人免费看片无遮挡 | 成人无码WWW免费视频| 亚洲AV成人精品网站在线播放| 99精品在线免费观看| 亚洲第一页中文字幕| 好吊妞998视频免费观看在线| 特级毛片全部免费播放a一级| 青青草原亚洲视频| 久久午夜夜伦鲁鲁片免费无码影视 | 亚洲第一中文字幕| 4455永久在线观免费看| 亚洲国产综合AV在线观看| 亚洲午夜精品一级在线播放放 | 精品在线免费观看| 亚洲六月丁香六月婷婷蜜芽| 成人黄动漫画免费网站视频| 中美日韩在线网免费毛片视频| 亚洲AV无码成人精品区蜜桃| 成年女人毛片免费视频| 一级做a爰片久久毛片免费看| 亚洲av无码潮喷在线观看| 成人免费视频试看120秒| a级片免费在线播放| 在线综合亚洲欧洲综合网站| 亚洲人成色77777| 成人午夜性A级毛片免费| 少妇性饥渴无码A区免费|