官网给出的解释是:html
被用来给元素或子组件注册引用信息。引用信息将会注册在父组件的 $refs
对象上。数组
1.若是在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;dom
2.若是用在子组件上,引用就指向组件实例。性能
eg: this
<p ref="p"></p> // vm.refs.p 指向 DOM节点spa
<child-temp ref="child"></child-temp> // vm.$refs.child 指向子组件3d
code: code
上面的实例咱们在调用的时候:htm ...对象 methods: { fg(){ this.$refs.listGroup.style.color = 'red' // 能够操做Dom 节点 console.log(this.$refs.listGroup.length) // 实例含有v-for 结构,这里操做的就是 遍历的数组了。 } }
总结: 使用 $refs 减小了 Dom 操做对页面的性能影响。 关于js操做dom 对性能影响 可访问: http://www.cnblogs.com/yepbug/p/5427213.html
1. 当 2. 关于ref注册时间的重要说明: 由于ref自己是做为渲染结果被建立的,在初始渲染的时候你不能访问它们 - 它们还不存在! |