ref $refs

178 阅读1分钟

访问子组件实例或子元素 给子组件 设一个 ref属性 例如 ref='input' 在使用时 使用this.$refs.input 即可访问到 子组件 还可使用 this.$refs.input.value 使用子组件有的方法

在官方文档中,

ref 被用来给元素或子组件注册引用信息。引用信息将会注册在父组件的 $refs 对象上。如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;如果用在子组件上,引用就指向组件实例:

ref是在DOM渲染完之后才会有,使用时,保证DOM渲染完毕,例如在Mounted中或this.$nextTick()中用

<input type='text' ref='input' id='input'>
this.$refs.input //  <input type='text' ref='input'>
相当于 
getElementById('input') //  <input type='text' ref='input'>

都是获得DOM节点,但是ref相对来说,会减少DOM节点消耗

refv-for一起使用时,得到的是一个数组,包含了所有的子数据

    <li v-for='(i,index) in list' :key='index' ref='lis'></li>
    ...
    this.$refs.lis  // [3]  

image.png