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) },