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

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作用將一個普通對象轉(zhuǎn)換成響應式對象,和vue2里面的Options里面的data一樣里面的數(shù)據(jù)都是響應式的。

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

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

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

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

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

toRefs將響應式對象轉(zhuǎn)換成普通對象,對象的每個屬性都是一個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使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue3.0 vant popup渲染不出來問題及解決

    vue3.0 vant popup渲染不出來問題及解決

    這篇文章主要介紹了vue3.0 vant popup渲染不出來問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • vue項目實現(xiàn)國際化的基本思路與詳細步驟

    vue項目實現(xiàn)國際化的基本思路與詳細步驟

    國際化是指項目能夠根據(jù)不同國家的語言進行轉(zhuǎn)換,便于不同國家的用戶使用,這篇文章主要給大家介紹了關于vue項目實現(xiàn)國際化的基本思路與詳細步驟,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-04-04
  • Vue使用distpicker插件實現(xiàn)省市級下拉框三級聯(lián)動

    Vue使用distpicker插件實現(xiàn)省市級下拉框三級聯(lián)動

    這篇文章主要介紹了Vue使用distpicker插件實現(xiàn)省市級下拉框三級聯(lián)動,比如通過JSON文件生成對應的區(qū)域下拉框,element-china-are插件,包括distpicker插件,通過代碼講解如何使用distpicker插件實現(xiàn)省市級三聯(lián)跳動,需要的朋友可以參考下
    2023-02-02
  • Vue 項目中如何使用fullcalendar 時間段選擇插件(類似課程表格)

    Vue 項目中如何使用fullcalendar 時間段選擇插件(類似課程表格)

    最近完成一個項目,需要選擇一個會議室,但是最好能夠通過在圖上顯示出該 會議室在某某時間段內(nèi)已經(jīng)被預定了,初看這個功能感覺很棘手,仔細分析下實現(xiàn)起來還是挺容易的,下面通過示例代碼講解Vue項目中使用fullcalendar時間段選擇插件,感興趣的朋友一起看看吧
    2024-07-07
  • vue使用v-model進行跨組件綁定的基本實現(xiàn)方法

    vue使用v-model進行跨組件綁定的基本實現(xiàn)方法

    這篇文章主要給大家介紹了關于vue使用v-model進行跨組件綁定的基本實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • vue-resourc發(fā)起異步請求的方法

    vue-resourc發(fā)起異步請求的方法

    這篇文章主要介紹了vue-resourc發(fā)起異步請求的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • vue使用echarts實現(xiàn)動態(tài)數(shù)據(jù)的示例詳解

    vue使用echarts實現(xiàn)動態(tài)數(shù)據(jù)的示例詳解

    這篇文章主要為大家詳細介紹了vue如何使用echarts實現(xiàn)動態(tài)數(shù)據(jù),文中的示例講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-11-11
  • vue3+arco design通過動態(tài)表單方式實現(xiàn)自定義篩選功能

    vue3+arco design通過動態(tài)表單方式實現(xiàn)自定義篩選功能

    這篇文章主要介紹了vue3+arco design通過動態(tài)表單方式實現(xiàn)自定義篩選,本文主要實現(xiàn)通過動態(tài)表單的方式實現(xiàn)自定義篩選的功能,用戶可以自己添加篩選的項目,篩選條件及篩選內(nèi)容,需要的朋友可以參考下
    2024-05-05
  • Vue打包為相對路徑的具體實現(xiàn)方法

    Vue打包為相對路徑的具體實現(xiàn)方法

    在Vue.js項目中,構(gòu)建后的資源文件(如CSS、JavaScript文件、圖片等)通常會被放置在指定的目錄下,為了確保這些文件能夠被正確加載,Vue CLI 提供了配置選項來指定這些文件的路徑,本文給大家介紹了Vue打包為相對路徑的具體實現(xiàn)方法,需要的朋友可以參考下
    2024-09-09
  • vue/cli安裝報錯及解決問題的方法圖文詳解

    vue/cli安裝報錯及解決問題的方法圖文詳解

    這篇文章主要給大家介紹了關于vue/cli安裝報錯及解決問題的方法,如果在安裝@vue/cli時遇到錯誤,大家可以嘗試以下步驟解決,需要的朋友可以參考下
    2023-07-07

最新評論

鹤峰县| 当雄县| 板桥市| 武川县| 华蓥市| 庆阳市| 九台市| 胶南市| 石屏县| 七台河市| 庆元县| 江门市| 广安市| 陇川县| 吐鲁番市| 阿拉善左旗| 武平县| 濉溪县| 绥化市| 霍林郭勒市| 榕江县| 汉源县| 宁化县| 新河县| 唐山市| 伽师县| 金塔县| 洱源县| 宁海县| 油尖旺区| 贵州省| 怀柔区| 六枝特区| 仙居县| 宁陵县| 澎湖县| 大新县| 安平县| 通榆县| 黄石市| 临猗县|