最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue2與Vue3中Ref綁定元素方式

 更新時間:2023年11月15日 08:49:32   作者:Wyyyy1024  
這篇文章主要介紹了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自定義指令中無法獲取this的問題及解決

    Vue自定義指令中無法獲取this的問題及解決

    這篇文章主要介紹了Vue自定義指令中無法獲取this的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue.js中使用iView日期選擇器并設置開始時間結(jié)束時間校驗功能

    Vue.js中使用iView日期選擇器并設置開始時間結(jié)束時間校驗功能

    本文通過實例代碼給大家介紹了Vue.js中使用iView日期選擇器并設置開始時間結(jié)束時間校驗功能,需要的朋友可以參考下
    2018-08-08
  • 解決v-model雙向綁定失效的問題

    解決v-model雙向綁定失效的問題

    這篇文章主要介紹了解決v-model雙向綁定失效的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue router學習之動態(tài)路由和嵌套路由詳解

    vue router學習之動態(tài)路由和嵌套路由詳解

    本篇文章主要介紹了vue router 動態(tài)路由和嵌套路由,詳細的介紹了動態(tài)路由和嵌套路由的使用方法,有興趣的可以了解一下
    2017-09-09
  • Vue項目打包部署到apache服務器的方法步驟

    Vue項目打包部署到apache服務器的方法步驟

    這篇文章主要介紹了Vue項目打包部署到apache服務器,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • Vue中的directive指令快速使用

    Vue中的directive指令快速使用

    這篇文章主要介紹了Vue中的directive指令快速使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue-cli history模式實現(xiàn)tomcat部署報404的解決方式

    vue-cli history模式實現(xiàn)tomcat部署報404的解決方式

    這篇文章主要介紹了vue-cli history模式實現(xiàn)tomcat部署報404的解決方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • 詳解Vue中使用Axios攔截器

    詳解Vue中使用Axios攔截器

    這篇文章主要Vue使用Axios攔截器,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • 在vue自定義組件中使用?v-model指令詳情

    在vue自定義組件中使用?v-model指令詳情

    這篇文章主要介紹了在vue自定義組件中使用?v-model指令詳情,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • Vue實現(xiàn)input寬度隨文字長度自適應操作

    Vue實現(xiàn)input寬度隨文字長度自適應操作

    這篇文章主要介紹了Vue實現(xiàn)input寬度隨文字長度自適應操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07

最新評論

白银市| 汽车| 久治县| 吴川市| 凤庆县| 庆元县| 黔江区| 南丰县| 边坝县| 临汾市| 江城| 固安县| 乐安县| 军事| 亳州市| 靖宇县| 固原市| 河津市| 南和县| 潜山县| 洱源县| 武功县| 桐梓县| 芜湖市| 乐安县| 罗田县| 金门县| 云霄县| 集贤县| 当涂县| 康平县| 泗阳县| 海伦市| 滨海县| 靖江市| 磴口县| 商南县| 抚松县| 百色市| 贵德县| 宣化县|