在項目開發時,我們常常用到ref和refs兩個屬性。
一、一般來說,如果我們把ref屬性定義到html元素之上,我們就可以對html元素進行DOM操作了,省去了傳統的Document.getlelementById操作了,
例如:
<input type="text" ref="input" />
<p ref="word">測試文字</p>
<script>
new Vue({
el: "#app",
mounted(){
this.$refs.word.style.color="red"
this.$refs.input1.value = "22";
}
})
</script>

注意:vue的生命周期,如果在節點DOM為實例化之前使用this.$refs屬性會報錯,vue生命周期中mounted才完成DOM實例化!
二、ref屬性用在子組件之中
我們常常在子組件使用ref屬性 來獲取子組件的data屬性值或者方法
<child ref=child></child>
<script>
new Vue({
el: "#app",
created() {
},
mounted() {
console.log(this.$refs.child.childWord)//獲取子組件中data中的信息
console.log(this.$refs.child.getchildInfo())//通過子組件的方法獲取信息
},
components: {
child: {
template: "#child",
data() {
return {
childWord: "子組件信息"
}
},
methods: {
getchildInfo: function() {
return "我通過子組件方法獲取的信息!"
}
}
}
}
})
</script>
