亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Vue中獲取this.$refs為undefined的問(wèn)題

 更新時(shí)間:2023年05月19日 09:07:03   作者:在南沒(méi)有北  
這篇文章主要介紹了Vue中獲取this.$refs為undefined的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Vue獲取this.$refs為undefined

最近在修改bug的時(shí)候,需要獲取到dom元素進(jìn)行操作

條件是通過(guò)屏幕寬度來(lái)改變獲取到dom元素的定位位置,我選擇通過(guò)JS的方式去改變

  • HTML代碼
<div ref = "mydiv"></div>
  • JS
created(){?
?? ?console.log(this.$refs.mydiv)
}

控制臺(tái)打印的時(shí)候?yàn)閡ndefined

然后開(kāi)始檢查字母和用法,發(fā)現(xiàn)都沒(méi)有問(wèn)題,就只有在 methods 函數(shù)里面也打印一下,這個(gè)時(shí)候發(fā)現(xiàn)打印就完全沒(méi)問(wèn)題,也得到我想得到的了,那問(wèn)題應(yīng)該就出在生命周期函數(shù) created 上了,去查閱資料,果不其然

這個(gè)時(shí)候就需要說(shuō)一下兩個(gè)生命周期函數(shù)了:

  • created (實(shí)例創(chuàng)建成功,此時(shí) data 中的數(shù)據(jù)顯示出來(lái)了,dom還未生成)
  • mounted(dom生成,data數(shù)據(jù)在模板中顯示出來(lái))

如果在created方法里this.$refs[dom]去獲取dom節(jié)點(diǎn)是獲取不到的

因?yàn)閐om還沒(méi)有被渲染出來(lái),而在mounted方法里是可以拿到的

Vuejs this.$refs 調(diào)用報(bào)undefined的處理

項(xiàng)目場(chǎng)景

Vue 2.6.10版本中,父組件獲取子組件問(wèn)題。

問(wèn)題描述

父組件調(diào)子組件方法報(bào)undefined找不到

父組件中使用子組件代碼  <UploadFile ref="refupload" ></UploadFile>

報(bào)錯(cuò):

先console.log(this.$refs);發(fā)現(xiàn)外面沒(méi)有refupload,里面有對(duì)象,不是undefined。

然后直接通過(guò)console.log(this.$refs.refupload);輸出,結(jié)果undefined報(bào)錯(cuò)。

原因分析

外層有v-if包裹,導(dǎo)致未渲染報(bào)錯(cuò)。

解決方案

初步錯(cuò)誤的嘗試:僅使用this.$nextTick方法,結(jié)果還是獲取undefined

有效方案1:使用this.$nextTick,但需要注意v-if條件中參數(shù)的賦值需要和this.$nextTick在同一個(gè)方法體中!

有效方案2:v-show 替換掉v-if

 

拿到輸出結(jié)果:

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue路由傳遞query參數(shù)兩種方式

    Vue路由傳遞query參數(shù)兩種方式

    路由是可以傳遞參數(shù)的,一般使用query進(jìn)行傳參,有兩種方式,本溫酒通過(guò)代碼示例給大家介紹這兩種傳遞方式,感興趣的小伙伴可以參考閱讀
    2023-06-06
  • vue中EventBus的使用教程詳解

    vue中EventBus的使用教程詳解

    在Vue中,使用EventBus可以實(shí)現(xiàn)組件間的通信,如何使用EventBus??都需要做哪些配置呢?他的注意事項(xiàng)是什么呢?下面就跟隨小編一起學(xué)習(xí)一下吧
    2024-02-02
  • vue2.0 路由不顯示router-view的解決方法

    vue2.0 路由不顯示router-view的解決方法

    下面小編就為大家分享一篇vue2.0 路由不顯示router-view的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • 深入淺析Vue中的slots/scoped slots

    深入淺析Vue中的slots/scoped slots

    這篇文章主要介紹了Vue中的slots/scoped slots,本文實(shí)例代碼相結(jié)合的形式給大家介紹了slots的工作原理,需要的朋友可以參考下
    2018-04-04
  • vue3+ts使用bus事件總線的示例代碼

    vue3+ts使用bus事件總線的示例代碼

    這篇文章主要介紹了vue3+ts使用bus事件總線,文中給大家提到了vue總線機(jī)制(bus)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • 基于vue-video-player自定義播放器的方法

    基于vue-video-player自定義播放器的方法

    這篇文章主要介紹了基于vue-video-player自定義播放器的方法,主要是基于video.js開(kāi)發(fā)的vue-video-player的使用,以及如何操作video.js中的api。需要的朋友可以參考下
    2018-03-03
  • 簡(jiǎn)單的三步vuex入門(mén)

    簡(jiǎn)單的三步vuex入門(mén)

    通過(guò)簡(jiǎn)單的三步讓大家對(duì)VUEX快速的入門(mén),本文還介紹了VUEX的最基礎(chǔ)的函數(shù)以及相關(guān)知識(shí)點(diǎn),有興趣的學(xué)習(xí)下。
    2018-05-05
  • Vue?ElementUI?table實(shí)現(xiàn)表格斜線分隔線

    Vue?ElementUI?table實(shí)現(xiàn)表格斜線分隔線

    這篇文章主要為大家詳細(xì)介紹了Vue?ElementUI?table實(shí)現(xiàn)表格斜線分隔線,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Vue2.x中的父子組件相互通信的實(shí)現(xiàn)方法

    Vue2.x中的父子組件相互通信的實(shí)現(xiàn)方法

    這篇文章主要介紹了Vue2.x中的父子組件相互通信,需要的朋友可以參考下
    2017-05-05
  • 使用vue實(shí)現(xiàn)grid-layout功能實(shí)例代碼

    使用vue實(shí)現(xiàn)grid-layout功能實(shí)例代碼

    這篇文章主要介紹了使用vue實(shí)現(xiàn)grid-layout功能的代碼講解,需要的朋友可以參考下
    2018-01-01

最新評(píng)論