官網給出的解釋是: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自己是做爲渲染結果被建立的,在初始渲染的時候你不能訪問它們 - 它們還不存在! |