亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue3 Composition API使用示例教程

 更新時間:2022年12月21日 08:48:06   作者:雪旭  
Vue3新增了Composition API,我們只需將實現(xiàn)某一功能的相關代碼全部放進一個函數(shù)中,然后return需要對外暴露的對象,這篇文章主要介紹了vue3 Composition API使用,需要的朋友可以參考下

Vue3新增了Composition API。我們只需將實現(xiàn)某一功能的相關代碼全部放進一個函數(shù)中,然后return需要對外暴露的對象。不同功能的代碼都是一個個函數(shù),最終在setup()函數(shù)中導入這些函數(shù)API,來使用這些功能。

在Vue3中,我們在小型組件仍可以繼續(xù)沿用Options API,而對于大型組件則推薦使用Composition  API。

Composition API沒有this,如果要獲取實例可以通過gitCurrentInstance這個函數(shù),要使用它,需要手動引入,Composition API的生命周期,ref,toRef等要使用的話也是需要手動引入的。

<script>
import { useStore } from "vuex";
import { getCurrentInstance } from 'vue'
export default {
  name: "ChildA",
  setup() {
       const instance = getCurrentInstance();
       console.log('instance--',instance);
    return {};
  },
};
</script>

用reactive定義響應數(shù)據(jù),reactive作用將一個普通對象轉換成響應式對象,和vue2里面的Options里面的data一樣里面的數(shù)據(jù)都是響應式的。

生命周期也發(fā)生了一些變化,setup是beforeCreate和created的組合,vue3中的生命周期除了卸載階段名稱變了,變成onbeforeUnmount和onUnmounted,其它的只是在前面添加了一個on。

vuex在Composition中使用,手動移入vuex,用reactive定義響應式數(shù)據(jù),該數(shù)據(jù)有屬性goods,函數(shù)在onMounted生命周期中調用,生命周期中傳入的是一個函數(shù)。調用vuex的方法,執(zhí)行后直接給響應式數(shù)據(jù)屬性賦值就行了。

最后在調用toRef或者toRefs對響應式數(shù)據(jù)屬性做個處理,做個處理就可以直接使用這個屬性(直接goods),不需要再去用“state.goods"的方式使用了。toRef或toRefs變量命名建議用xxx.Ref和xxx.Refs。

ref生成一個響應式數(shù)據(jù),可用于模板和reactive(用于模板和reactive不需要通過.value),通過.value修改值。

toRef針對響應式對象的一個屬性生成一個ref,ref具有響應式,二者保持引用關系。

toRefs將響應式對象轉換成普通對象,對象的每個屬性都是一個ref,二者保持引用關系。

要使用Composition中的方法也需要通過renturn導出。

<script>
import { useStore } from "vuex";
import { reactive, onMounted, toRef, toRefs } from 'vue'
export default {
  name: "ChildA",
  setup() {
    const store = useStore();
    const state = reactive({
      goods:[]
    });

    const getData = () => {
      store.dispatch("products/getProducts").then((res) => {
        state.goods = res
      });
    };
    const addData = () => {
      store.dispatch("products/setProducts");
      getData();
    };
    
    onMounted(() => {
      getData();
    });    
    
    //以toRef形式返回
    const goodsRef = toRef(state,'goods');
    return { goodsRef, addData };

     //以toRefs形式返回
    /* const goodsRefs = toRefs(state);
    return goodsRefs */
  },
};
</script>

 模板中使用

<template>
  <div class="child-a">
          ChildA:
    <ul>
      <!-- 以toRefs形式返回直接取響應式對象屬性 -->
      <!-- <li v-for="item in goods" :key="item.id">{{ item.name }}</li> -->

      <!-- 以toRef形式返回 -->
      <li v-for="item in goodsRef" :key="item.id">{{ item.name }}</li>
    </ul>

    <button @click="addData">ChildA-Add</button>
  </div>
</template>

到此這篇關于vue3 Composition API使用的文章就介紹到這了,更多相關vue3 Composition API使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue實現(xiàn)驗證碼登錄的方法實例

    Vue實現(xiàn)驗證碼登錄的方法實例

    最近在自己寫頁面,然后寫登錄注冊UI的時候需要一個驗證碼組件,去搜一下沒找到什么合適的,于是自己寫一個,這篇文章主要給大家介紹了關于Vue實現(xiàn)驗證碼登錄的相關資料,需要的朋友可以參考下
    2022-03-03
  • vue獲取el-form的整體驗證狀態(tài)

    vue獲取el-form的整體驗證狀態(tài)

    本文主要介紹了vue獲取el-form的整體驗證狀態(tài),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • vue中使用帶隱藏文本信息的圖片、圖片水印的方法

    vue中使用帶隱藏文本信息的圖片、圖片水印的方法

    這篇文章主要介紹了vue中使用帶隱藏文本信息的圖片、圖片水印的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Vue全局分頁組件的實現(xiàn)代碼

    Vue全局分頁組件的實現(xiàn)代碼

    分頁是很多頁面都需要實現(xiàn)的一個功能,這篇文章主要介紹了Vue全局分頁組件的實現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • element?plus如何為表格某列數(shù)據(jù)文字設置顏色樣式

    element?plus如何為表格某列數(shù)據(jù)文字設置顏色樣式

    實習工作需要根據(jù)表格的狀態(tài)字段來設置列的樣式,所以這篇文章主要給大家介紹了關于element?plus如何為表格某列數(shù)據(jù)文字設置顏色樣式的相關資料,需要的朋友可以參考下
    2023-10-10
  • Element Input組件分析小結

    Element Input組件分析小結

    這篇文章主要介紹了Element Input組件分析小結,詳細的介紹了Input組件的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • vue中實現(xiàn)圖片壓縮 file文件的方法

    vue中實現(xiàn)圖片壓縮 file文件的方法

    這篇文章主要介紹了vue中實現(xiàn)圖片壓縮 file文件的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • vue項目嵌套iframe實現(xiàn)發(fā)送、接收數(shù)據(jù)

    vue項目嵌套iframe實現(xiàn)發(fā)送、接收數(shù)據(jù)

    這篇文章主要介紹了vue項目嵌套iframe實現(xiàn)發(fā)送、接收數(shù)據(jù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 詳解vue添加刪除元素的方法

    詳解vue添加刪除元素的方法

    本篇文章給大家分享了vue添加刪除元素的方法以及相關實例代碼,有興趣的朋友參考一下。
    2018-06-06
  • Vue3定義全局變量的方式總結(附代碼)

    Vue3定義全局變量的方式總結(附代碼)

    vue創(chuàng)建全局變量和方法有很多種,下面這篇文章主要給大家介紹了關于Vue3定義全局變量的方式,文中通過代碼介紹的非常詳細,對大家學習或者使用vue3具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-04-04

最新評論