給組件加 ref
打印結果 this.$refs.comp
是 vue 組件,this.$refs.span
打印出來的是 html
節點,這也是 ref
用在組件和 html
原生標籤上的區別。
可以通過 $refs
得到組件,進而調用組件的變量和方法,如 this.$refs.comp.value
拿到了組件內部變量 value
值。所以可以通過 ref
操縱組件上的內容(推薦用 props
操縱),除非特殊情況。
mounted () {
console.log(this.$refs.comp, this.$refs.span, this.$refs.comp.value)
},
template: `
<div>
<comp-one ref="comp">
<span slot-scope="props" ref="span">{{props.value}} {{props.aaa}} {{value}}</span>
</comp-one>
</div>
`