欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue2與Vue3中Ref綁定元素方式

 更新時間:2023年11月15日 08:49:32   作者:Wyyyy1024  
這篇文章主要介紹了Vue2與Vue3中Ref綁定元素方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Vue之Ref綁定元素獲取實例

我們可以通過給元素綁定ref屬性來獲取這個元素的實例,來調用實例中的某種方法來實現(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");//結果為單個對象
    console.log(this.$refs.HelloArrRef, "HelloArrRef");// 結果為數(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ù)組去取。

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 詳解vantUI框架在vue項目中的應用踩坑

    詳解vantUI框架在vue項目中的應用踩坑

    這篇文章主要介紹了詳解vantUI框架在vue項目中的應用踩坑,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 基于Vue.js的表格分頁組件

    基于Vue.js的表格分頁組件

    這篇文章主要為大家詳細介紹了基于Vue.js的表格分頁組件使用方法,了解了Vue.js的特點,感興趣的朋友可以參考一下
    2016-05-05
  • vue使用路由的query配置項時清除地址欄的參數(shù)案例詳解

    vue使用路由的query配置項時清除地址欄的參數(shù)案例詳解

    這篇文章主要介紹了vue使用路由的query配置項時如何清除地址欄的參數(shù),本文通過案例給大家分享完美解決方案,需要的朋友可以參考下
    2023-09-09
  • vue 做移動端微信公眾號采坑經(jīng)驗記錄

    vue 做移動端微信公眾號采坑經(jīng)驗記錄

    這篇文章主要介紹了vue 做移動端微信公眾號采坑經(jīng)驗記錄,文中是小編記錄的三個坑及解決方案,需要的朋友可以參考下
    2018-04-04
  • Vue利用computed解決單項數(shù)據(jù)流的問題

    Vue利用computed解決單項數(shù)據(jù)流的問題

    Vue是一個非常流行和強大的前端框架,它讓我們可以用簡潔和優(yōu)雅的方式來構建用戶界面,但是,Vue也有一些需要注意和掌握的細節(jié)和技巧,今天我們來分享一個Vue中非常經(jīng)典的問題,也是一個非常實用的技巧,Vue利用computed解決單項數(shù)據(jù)流,需要的朋友可以參考下
    2023-08-08
  • Vue動態(tài)組件與異步組件超詳細講解

    Vue動態(tài)組件與異步組件超詳細講解

    這篇文章主要介紹了Vue動態(tài)組件與異步組件,動態(tài)組件是根據(jù)數(shù)據(jù)的變化,可以隨時切換不同的組件,比如咱們現(xiàn)在要展示一個文本框和輸入框,我們想要根據(jù)我們data中定義的值去決定是顯示文本框還是輸入框
    2023-03-03
  • vue2組件實現(xiàn)懶加載淺析

    vue2組件實現(xiàn)懶加載淺析

    本篇文章主要介紹了vue2組件實現(xiàn)懶加載淺析,運用懶加載則可以將頁面進行劃分,需要的時候加載頁面,可以有效的分擔首頁所承擔的加載壓力.
    2017-03-03
  • vue中用H5實現(xiàn)文件上傳的方法實例代碼

    vue中用H5實現(xiàn)文件上傳的方法實例代碼

    本篇文章主要介紹了vue中用H5實現(xiàn)文件上傳的方法實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • vue連接本地服務器的實現(xiàn)示例

    vue連接本地服務器的實現(xiàn)示例

    本文主要介紹了vue連接本地服務器的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-01-01
  • 基于Vue的商品主圖放大鏡方案詳解

    基于Vue的商品主圖放大鏡方案詳解

    這篇文章主要介紹了基于 Vue 的商品主圖放大鏡方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09

最新評論