Vue中的$refs和$ref指的是組件或DOM元素的引用。$refs是一個對象,其中包含了在模板中使用ref屬性的所有元素或組件,每個ref都是一個鍵值對,鍵是ref屬性的名稱,值是該元素或組件的實例。
例如:
<div ref="myDiv"></div> ...
在Vue實例中,可以使用this.$refs來訪問這個元素:
this.$refs.myDiv
這樣可以獲得該元素或組件實例,可以調(diào)用該實例上的方法或?qū)傩浴?/p>
需要注意的是,當(dāng)使用v-for指令時,如果要訪問一個動態(tài)生成的元素或組件,可以給它們加上ref屬性,并且使用$refs對象來訪問每個元素或組件實例。
例如:
<div v-for="(item, index) in list" :key="index" ref="myItems">{{ item }}
在Vue實例中,可以通過this.$refs.myItems來訪問每個元素實例,如果想訪問其中某個特定的元素實例,可以使用數(shù)組下標(biāo):
this.$refs.myItems[0]
使用$ref屬性時,需要注意的是,如果將$ref屬性綁定到一個內(nèi)部組件上,需要先將該組件加上ref屬性,然后通過$refs對象來訪問該組件內(nèi)部的元素或組件。
例如:
<my-component ref="myComp"></my-component> ... <template id="myCompTemplate"> <div ref="myDiv"></div> </template>
在Vue實例中,可以使用this.$refs.myComp.$refs.myDiv來訪問my-component組件內(nèi)部的一個div元素。