vue中this.$refs的坑及解決
vue this.$refs的坑
在開(kāi)發(fā)中,有時(shí)需要使用到this.$refs ,用于操作真實(shí)的DOM節(jié)點(diǎn)。
說(shuō)一說(shuō)我在使用的時(shí)候,在開(kāi)發(fā)時(shí)碰到了一個(gè)小需求,需要子組件向父組件傳參,而且是不需要通過(guò)事件傳遞的,一開(kāi)始使用this.$emit()來(lái)寫(xiě)的,但是一直沒(méi)有接受到參數(shù),于是放棄了使用this.$emit()的使用。
于是,使用了在父組件中調(diào)用子組件的方法,來(lái)獲取傳遞的參數(shù)。但是還是沒(méi)有獲取到傳遞過(guò)來(lái)的參數(shù)。
以下三點(diǎn)小坑坑
1、使用this.$refs如果要在mouend()中使用,必須要在this.$nextTick(()=>{ } ) 這里面實(shí)現(xiàn),要不是找不到ref,原因是mouned()之后,BOM節(jié)點(diǎn)還沒(méi)有完全掛載上,于是找不到定義的ref。
2、可以直接在updata()的生命周期函數(shù)中使用,不用寫(xiě)this.$nextTick(()=>{ } )
3、在methods:{ } 方法中使用,也需要使用this.$nextTick(()=>{ } ) 等到頁(yè)面完全渲染完畢之后在調(diào)用即可
vue的坑 this.refs為空
我們?cè)谟胿ue的時(shí)候,會(huì)遇到一些坑,比如我們使用 this.$refs 獲取不到值,頁(yè)面明明有啊
百思不得其解……原來(lái)這個(gè)跟Vue的鉤子有關(guān)系
總結(jié)來(lái)說(shuō)
1、必須要等頁(yè)面中的ref子組件加載完畢,才可以獲取到
2、在mounted之前的鉤子函數(shù)中獲取不到
3、組件在v-if為false的父節(jié)點(diǎn)下,導(dǎo)致這個(gè)子組件未渲染,也是導(dǎo)致獲取不到的因素,不要忽視哦
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- vue中this.$refs.name.offsetHeight獲取不到值問(wèn)題
- Vue中獲取this.$refs為undefined的問(wèn)題
- vue中this.$refs有值,但無(wú)法獲取ref的值問(wèn)題及解決
- vue?watch中如何獲取this.$refs.xxx節(jié)點(diǎn)
- vue關(guān)于this.$refs.tabs.refreshs()刷新組件方式
- Vue 解決通過(guò)this.$refs來(lái)獲取DOM或者組件報(bào)錯(cuò)問(wèn)題
- vue列表單項(xiàng)展開(kāi)收縮功能之this.$refs的詳解
- Vue寶典之this.$refs屬性的使用
相關(guān)文章
Element?ui中menu組件(el-menu/el-menu-item/el-submenu/template)
最近在使用Element開(kāi)發(fā)時(shí)遇到了不少問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于Element?ui中menu組件(el-menu/el-menu-item/el-submenu/template)層級(jí)結(jié)構(gòu)與用法的相關(guān)資料,需要的朋友可以參考下2022-12-12詳解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 構(gòu)建記事本應(yīng)用
本篇文章主要介紹了詳解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 構(gòu)建記事本應(yīng)用 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06Vue實(shí)現(xiàn)按鈕級(jí)權(quán)限方案
這篇文章主要介紹了Vue按鈕級(jí)權(quán)限方案,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11vue-cli系列之vue-cli-service整體架構(gòu)淺析
這篇文章主要介紹了vue-cli系列之vue-cli-service整體架構(gòu)淺析,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01詳解unplugin?vue?components不能識(shí)別組件自動(dòng)導(dǎo)入類(lèi)型pnpm
這篇文章主要為大家介紹了unplugin?vue?components不能識(shí)別組件自動(dòng)導(dǎo)入類(lèi)型pnpm詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01