1、ref有以下三種用法:數組
2、注意點dom
一、ref 須要在dom渲染完成後纔會有,在使用的時候確保dom已經渲染完成。好比在生命週期 mounted(){} 鉤子中調用,或者在 this.$nextTick(()=>{}) 中調用。this
二、若是ref 是循環出來的,有多個重名,那麼ref的值會是一個數組 ,此時要拿到單個的ref 只須要循環就能夠了。code
3、ref 的用法生命週期
1.加在普通元素上,獲取dom元素get
<input type="text" ref="inputRef"/> mounted(){ this.$refs.inputRef.focus(); } //或者 created(){ this.$nextTick(()=>{ this.$refs.inputRef.focus(); }) },
2.v-for 和 ref,獲取dom元素input
(1)形式一:動態綁定ref博客
<div v-for="(item,index) in user" v-bind:key="index" v-bind:ref="'dom'+index" @click="getdom(index)">{{item.name}}</div> data(){ return { user:[ {name:"小花",age:18}, {name:"小黃",age:19}, {name:"小藍",age:20}, ] } }, getdom(index){ var r = "dom"+index; var s = this.$refs[r][0].innerHTML; console.log(s) },
(2)形式二:ref使用固定值it
<div v-for="(item,index) in user" v-bind:key="index" ref="dom" @click="getdom(index)">{{item.name}}</div> data(){ return { user:[ {name:"小花",age:18}, {name:"小黃",age:19}, {name:"小藍",age:20}, ] } }, getdom(index){ //此時this.$refs.dom是一個數組 var s = this.$refs.dom[index].innerHTML; console.log(s) },