Vue2與Vue3中Ref綁定元素方式
Vue之Ref綁定元素獲取實例
我們可以通過給元素綁定ref屬性來獲取這個元素的實例,來調(diào)用實例中的某種方法來實現(xiàn)某種功能
Vue2實現(xiàn)
<template>
<!-- 單個綁定 -->
<HelloWorld ref="HelloRef" />
<!-- 循環(huán)綁定 -->
<div v-for="item in arr" :key="item">
<hello-world ref="HelloArrRef"></hello-world>
</div>
</template>
<script>
import HelloWorld from "./components/HelloWorld.vue";
export default {
name: "App",
components: {
HelloWorld,
},
data() {
return {
count:0
};
},
mounted() {
console.log(this.$refs.HelloRef, "HelloRef");//結(jié)果為單個對象
console.log(this.$refs.HelloArrRef, "HelloArrRef");// 結(jié)果為數(shù)組
},
methods: {
},
};
在vue2寫法下,無論綁定單個元素或者循環(huán)綁定元素我們可以通過this.$refs.實例名稱來獲取組件實例
Vue3實現(xiàn)
vue3中循環(huán)綁定ref是和vue2寫法略有不同,單個組件綁定寫法是一致的
<template>
<!-- 單個綁定 -->
<HelloWorld ref="HelloRef" />
<!-- 循環(huán)綁定 -->
<div v-for="item in arr" :key="item">
<hello-world :ref="setItemRef"></hello-world>
</div>
</template>
<script>
import HelloWorld from "./components/HelloWorld.vue";
import { defineComponent, onMounted,onBeforeUpdate,onUpdated, ref } from "vue";
export default defineComponent({
name: "App",
components: {
HelloWorld,
},
setup() {
const HelloRef = ref(null);
const arr = ref([1, 2, 3]);
const HelloRefArr = ref([]);
const setItemRef = (el) => {
if (el) {
HelloRefArr.value.push(el);
}
};
onMounted(() => {
console.log(HelloRef.value, "HelloRef");
console.log(HelloRefArr.value, "HelloRefArr");
});
onBeforeUpdate(() => {
HelloRefArr.value = []
})
onUpdated(() => {
console.log(HelloRefArr.value,' HelloRefArr.value--update')
})
return {
HelloRef,
arr,
setItemRef,
HelloRefArr,
};
},
});
</script>
在vue3中循環(huán)綁定元素,與vue2不同是 ref需要先綁定一個方法通過這個方法獲取到實例保存在一個數(shù)組中
注意:
1.不必是數(shù)組:它也可以是一個對象,其 ref 可以通過迭代的 key 被設置。
2.如有需要,HelloRefArr 也可以是響應式的,且可以被偵聽。
在需要的時候通過這個數(shù)組去取。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Vue.js中使用iView日期選擇器并設置開始時間結(jié)束時間校驗功能
本文通過實例代碼給大家介紹了Vue.js中使用iView日期選擇器并設置開始時間結(jié)束時間校驗功能,需要的朋友可以參考下2018-08-08
vue-cli history模式實現(xiàn)tomcat部署報404的解決方式
這篇文章主要介紹了vue-cli history模式實現(xiàn)tomcat部署報404的解決方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-09

