vue中ref的用法小結
vue中ref的用法
在項目中使用ref時有時候直接取值,有時候返回的卻是一個數(shù)組,不知其中緣由,后查了一下ref用法,所以總結一下.
1.綁定在dom元素上時,用起來與id差不多,通過this.$refs來調用:
<div id="passCarEchart" ref="passCarEchart" style="height: 300px; width: 100%"></div> console.log(this.$refs.passCarEchart)
看到打印出來就是綁定的dom對象,可以用來執(zhí)行一些dom操作,比如操作樣式,獲取屬性等:
let passCarEchart= this.$refs.passCarEchart passCarEchart.style.height = '200px' passCarEchart.style.background = 'red' console.log(passCarEchart.clientHeight)
2.如果refs自身的dom,或父級的dom是通過v-for渲染出來的,vue框架就會把refInFor設置成true,然后ref.key在registerRef函數(shù)就被設置成數(shù)組
<div v-for="item in csGroupNameArr" :key="item" > <div ref="arrayDiv"> {{ item }} </div> </div>
this.$nextTick(() => { console.log(this.$refs.arrayDiv,'arrayDiv') })
3.ref除了這兩個用法,還有另一種用法,綁定在組件標簽上:
<CheckPoint ref="checkPoint" v-model="checkPointNumbers" @clearData="clearCheckPointData" ></CheckPoint>
console.log(this.$refs.checkPoint)
可以看到這次和我們之前綁定在dom元素上有很大的不同,這次獲取到的是一個VueComponent對象,里面有這個組件的各個屬性,這些屬性里面有一個$el,這就是dom對象,就是和我們直接綁定在dom元素上獲取的一樣:
console.log(this.$refs.checkPoint.$el)
通過$refs獲取的對象中,我們可以看到里面還有我們設置在data里面的變量,我們是可以直接通過這種ref的方式去修改,它就等于拿到那個組件的this,可以直接調用,不僅是data里面的變量,還有methods里面的方法.
4.這種用法還可以在用ui框架的組件的時候,ui框架給我們提供了很多組件的方法,就是要通過這個ref去調用,比如說element-ui的樹形組件
例子:
<el-form ref="personDialogForm" :inline="true" class="dialog-form" :model="form" :rules="dialogRules">
這里就不多介紹用法了,一般組件庫官網(wǎng)中各自的用法.
到此這篇關于vue中ref的用法的文章就介紹到這了,更多相關vue ref用法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Vue項目中對index.html中BASE_URL的配置方式
這篇文章主要介紹了Vue項目中對index.html中BASE_URL的配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06vue如何使用html2canvas和JsPDF導出pdf組件
這篇文章主要介紹了vue如何使用html2canvas和JsPDF導出pdf組件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-09-09Vue+ElementUI table實現(xiàn)表格分頁
這篇文章主要為大家詳細介紹了Vue+ElementUI table實現(xiàn)表格分頁,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-12-12vue自定義插件封裝,實現(xiàn)簡易的elementUi的Message和MessageBox的示例
這篇文章主要介紹了vue自定義插件封裝,實現(xiàn)簡易的elementUi的Message和MessageBox的示例,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下2020-11-11