欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue中獲取this.$refs為undefined的問題

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

Vue獲取this.$refs為undefined

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

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

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

控制臺打印的時候為undefined

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

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

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

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

因為dom還沒有被渲染出來,而在mounted方法里是可以拿到的

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

項目場景

Vue 2.6.10版本中,父組件獲取子組件問題。

問題描述

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

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

報錯:

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

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

原因分析

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

解決方案

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

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

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

 

拿到輸出結(jié)果:

總結(jié)

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

相關(guān)文章

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

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

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

    vue中EventBus的使用教程詳解

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

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

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

    深入淺析Vue中的slots/scoped slots

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

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

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

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

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

    簡單的三步vuex入門

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

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

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

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

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

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

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

最新評論