91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue3中的ref與reactive如何使用

發布時間:2023-05-16 16:50:43 來源:億速云 閱讀:78 作者:iii 欄目:編程語言

本文小編為大家詳細介紹“vue3中的ref與reactive如何使用”,內容詳細,步驟清晰,細節處理妥當,希望這篇“vue3中的ref與reactive如何使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

    一、ref

    ref 是 Vue3 中的一個函數,它可以將一個普通的變量轉化為一個響應式變量。使用 ref 的時候,我們需要傳入一個初始值,ref 會返回一個包含了這個初始值的對象。

    使用 ref 的語法如下所示:

    import { ref } from 'vue';
    const count = ref(0);

    在上面的代碼中,我們創建了一個名為 count 的變量,它的初始值為 0。通過調用 ref 函數,我們將 count 變量轉化為了一個 ref 對象。在組件中使用 count 的時候,我們需要通過 .value 來訪問它的值,且ref.value = 可以修改它的值。但是當 ref 在模板中作為頂層屬性被訪問時,它們會被自動“解包”,所以不需要使用 .value。:

    <template>
      <div>{{ count }}</div>
    </template>
    ------------------
    <script setup>
    import { ref } from 'vue';
    const count = ref(0);
    console.log(count)//RefImpl {...}
    console.log(count.value)//0
    //使用.value改變count
    count.value = 3;
    console.log(count.value)//3
    </script>

    注意:在標簽中使用無需加.value,在函數中使用必須要加.value

    除此之外,ref 還可以用來監聽 DOM 元素的變化:

    <template>
      <div ref="myDiv">這是一個 DOM 元素</div>
    </template>
    
    <script>
      import { ref, onMounted } from 'vue';
    
      export default {
        setup() {
          const myDiv = ref(null);
    
          onMounted(() => {
            console.log(myDiv.value.innerHTML);
          });
    
          return {
            myDiv,
          };
        },
      };
    </script>

    在上面的代碼中,我們創建了一個名為 myDivref 對象,并將它賦值給了一個 div 元素。在組件的 setup 函數中,我們使用了 onMounted 鉤子函數,在組件渲染完成之后,打印出了 myDiv 元素的 innerHTML

    二、reactive

    reactive 是 Vue3 中的另一個 API,它可以將一個普通的對象轉化為一個響應式對象。與 ref 不同的是,reactive 返回的是一個響應式的對象,而不是一個包含值的對象。我們可以通過訪問響應式對象的屬性來獲取或修改它的值。

    使用 reactive 的語法如下所示:

    import { reactive } from 'vue';
    const state = reactive({
      count: 0,
    });

    在上面的代碼中,我們創建了一個名為 state 的響應式對象,它包含了一個名為 count 的屬性,初始值為 0。

    在組件中使用 state 的時候,我們可以像訪問普通對象的屬性一樣訪問它的屬性:

    <template>
      <div>{{ state.count }}</div>
    </template>

    除了訪問屬性之外,reactive 也可以對普通 JavaScript 對象或數組進行響應式處理,可以通過 reactive 將一個普通對象轉化為響應式對象,從而實現對整個對象的響應式追蹤,例如:

    const obj = { a: 1, b: 2 };
    const reactiveObj = reactive(obj);
    
    // 響應式追蹤
    reactiveObj.a = 3;
    console.log(obj.a); // 輸出 3

    reactive 還可以在嵌套對象和數組中創建響應式對象,例如:

    const obj = { 
      a: 1, 
      b: { c: 2 },
      d: [1, 2, 3]
    };
    const reactiveObj = reactive(obj);
    
    // 響應式追蹤
    reactiveObj.b.c = 3;
    reactiveObj.d.push(4);

    reactive 還支持在嵌套對象中使用 toRefs 將響應式對象的屬性轉換為響應式引用,方便在模板中使用。例如:

    const obj = reactive({ a: 1, b: { c: 2 } });
    const { b } = toRefs(obj);
    
    // 模板中使用
    <template>
      <div>{{ b.c }}</div>
    </template>

    總之,reactive 除了訪問屬性之外還能處理整個對象或數組的響應式追蹤,以及支持在嵌套對象中使用 toRefs 方便在模板中使用。

    三、ref和reactive的使用對比

    1.ref的使用方法

    ref創建的變量可以通過.value來獲取和修改其值。例如:

    import { ref } from 'vue'
    
    // 創建ref
    const count = ref(0)
    
    // 獲取ref的值
    console.log(count.value) // 輸出 0
    
    // 修改ref的值
    count.value = 1
    console.log(count.value) // 輸出 1
    2. reactive的使用方法

    reactive創建的對象需要通過解構賦值的方式獲取和修改其屬性值。例如:

    import { reactive } from 'vue'
    
    // 創建reactive對象
    const obj = reactive({
      count: 0
    })
    
    // 獲取reactive對象的屬性值
    console.log(obj.count) // 輸出 0
    
    // 修改reactive對象的屬性值
    obj.count = 1
    console.log(obj.count) // 輸出 1

    讀到這里,這篇“vue3中的ref與reactive如何使用”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    穆棱市| 洞头县| 牙克石市| 平昌县| 清徐县| 兴海县| 吐鲁番市| 巨野县| 明星| 上饶县| 外汇| 柏乡县| 威信县| 西平县| 荆门市| 轮台县| 日土县| 玛沁县| 丹凤县| 文化| 富平县| 稷山县| 山东| 昌宁县| 龙门县| 张家界市| 金门县| 江西省| 建湖县| 松江区| 兴隆县| 大方县| 宜都市| 长治市| 遂宁市| 永修县| 南华县| 砀山县| 门源| 象州县| 涿州市|