vue中ref的使用(this.$refs獲取為undefined)


如果你獲取到的總是空的,你注意一下:

1、你在哪里調用,和你調用的對象

試試在mounted()里面調用有效果沒有

調用的對象是本來就存在的,還是需要數據渲染之后才會出現的,同理,在mounted()里面調用看看

2、調用對象是不是數組列表

    我一開始設置ref在v-for列表上,直接獲取this.$refs.name.style,永遠是空的,

    后來才發現,this.$refs.name是一個數組,無法通過 .style 獲取樣式,

    只能遍歷這個this.$refs.name數組,在this.$refs.name[index]上設置樣式

// 6.14 更新,這個說法有點問題

但是像高度寬度,可以通過offsetHeight,等來獲取。

3、調用對象是否和v-if結合使用

  ref不是響應式的,所有的動態加載的模板更新它都無法相應的變化。

解決方案:

  通過

setTimeout(() => {

    }, 0)

來得到數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM