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

vue3中的reactive函數(shù)聲明數(shù)組方式

 更新時間:2022年05月25日 09:05:42   作者:DanceDonkey  
這篇文章主要介紹了vue3中的reactive函數(shù)聲明數(shù)組方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

reacitve函數(shù)如何聲明一個響應(yīng)式數(shù)組

如以下案例

<template>
? <div>
? ? ? <div v-for="item in arr" :key="item">?
? ? ? ? ? {{item}}
? ? ? </div>
? ? ? ? <button @click="change">change</button>
? </div>
</template>
<script>
? import { defineComponent, reactive,ref } from 'vue';
? export default defineComponent({
? ? setup(props,context) {
? ? ? let arr = reactive([])
? ? ? function change(){
? ? ? ? console.log("change...");
? ? ? ? let newArr = [1,2,3]
? ? ? ? arr = newArr
? ? ? }
? ? ??
? ? ? return{
? ? ? ? arr,
? ? ? ? change
? ? ? }
? ? },
? });
</script>
<style scope></style>

點擊change按鈕,發(fā)現(xiàn)并沒有什么變化,這是因為arr = newArr這行代碼讓arr失去了響應(yīng)式。

解決辦法

使用ref函數(shù) 

?setup(props,context) {
? ? ? let arr = ref([])
? ? ? function change(){
? ? ? ? console.log("change...");
? ? ? ? let newArr = [1,2,3]
? ? ? ? arr.value = newArr
? ? ? }
? ? ??
? ? ? return{
? ? ? ? arr,
? ? ? ? change
? ? ? }
? ? },

使用數(shù)組的push方法 

?setup(props,context) {
? ? ? let arr = reactive([])
? ? ? function change(){
? ? ? ? console.log("change...");
? ? ? ? let newArr = [1,2,3]
? ? ? ? arr.push(...newArr)
? ? ? }
? ? ??
? ? ? return{
? ? ? ? arr,
? ? ? ? change
? ? ? }
? ? },

創(chuàng)建一個響應(yīng)式對象,對象的屬性是數(shù)組

<template>
? <div>
? ? ? <div v-for="item in arr.list" :key="item">?
? ? ? ? ? {{item}}
? ? ? </div>
? ? ? ? <button @click="change">change</button>
? </div>
</template>
<script>
? import { defineComponent, reactive,ref } from 'vue';
? export default defineComponent({
? ? setup(props,context) {
? ? ? let arr = reactive({
? ? ? ? list:[]
? ? ? })
? ? ? function change(){
? ? ? ? console.log("change...");
? ? ? ? let newArr = [1,2,3]
? ? ? ? arr.list = newArr
? ? ? }
? ? ??
? ? ? return{
? ? ? ? arr,
? ? ? ? change
? ? ? }
? ? },
? });
</script>

使用reactive包裹數(shù)組賦值

需求

將接口請求到的列表數(shù)據(jù)賦值給響應(yīng)數(shù)據(jù)arr

代碼 

const arr = reactive([]);
const load = () => {
? const res = [2, 3, 4, 5]; //假設(shè)請求接口返回的數(shù)據(jù)
? // 方法1 失敗,直接賦值丟失了響應(yīng)性
? // arr = res;
? // 方法2 這樣也是失敗
? // arr.concat(res);
? // 方法3 可以,但是很麻煩
? res.forEach(e => {
? ? arr.push(e);
? });
};

方法1:vue3 使用 proxy,對于對象和數(shù)組都不能直接整個賦值;

方法2:concat 不改變原數(shù)組

// 方法4
const state = reactive({
? arr: []
});
state.arr = [1, 2, 3]
// 方法5
const state = ref([])
state.value = [1, 2, 3]
// 方法6
const arr = reactive([])
arr.push(...[1, 2, 3])
// 亦或者
arr.length = 0 // 清空原數(shù)組
arr.push(...res) // 解構(gòu)然后push進去

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

相關(guān)文章

  • Vue實現(xiàn)雙向滑動輸入條

    Vue實現(xiàn)雙向滑動輸入條

    這篇文章主要為大家詳細介紹了Vue實現(xiàn)雙向滑動輸入條,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue項目依賴升級報錯處理方式

    vue項目依賴升級報錯處理方式

    這篇文章主要介紹了vue項目依賴升級報錯處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue選項卡組件的實現(xiàn)方法

    vue選項卡組件的實現(xiàn)方法

    這篇文章主要為大家詳細介紹了vue選項卡組件的實現(xiàn)方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue2.X組件學(xué)習(xí)心得(新手必看篇)

    vue2.X組件學(xué)習(xí)心得(新手必看篇)

    下面小編就為大家?guī)硪黄獀ue2.X組件學(xué)習(xí)心得(新手必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • 解決vue加scoped后就無法修改vant的UI組件的樣式問題

    解決vue加scoped后就無法修改vant的UI組件的樣式問題

    這篇文章主要介紹了解決vue加scoped后就無法修改vant的UI組件的樣式問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • vue封裝swiper代碼實例解析

    vue封裝swiper代碼實例解析

    這篇文章主要介紹了vue封裝swiper代碼實例解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • defineProps宏函數(shù)不需要從vue中import導(dǎo)入的原因解析

    defineProps宏函數(shù)不需要從vue中import導(dǎo)入的原因解析

    這篇文章主要介紹了defineProps宏函數(shù)不需要從vue中import導(dǎo)入的原因解析,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2024-07-07
  • Vue3.0實現(xiàn)圖片預(yù)覽組件(媒體查看器)功能

    Vue3.0實現(xiàn)圖片預(yù)覽組件(媒體查看器)功能

    最近項目中有個場景,一組圖片、視頻、音頻、文件數(shù)據(jù),要求點擊圖片可以放大預(yù)覽,左右可以切換音視頻、文件,支持鼠標(biāo)及各種鍵控制?縮放,左右旋轉(zhuǎn),移動等功能,這篇文章主要介紹了Vue3.0實現(xiàn)圖片預(yù)覽組件(媒體查看器),需要的朋友可以參考下
    2023-12-12
  • Vue3中使用ref標(biāo)簽對組件進行操作方法

    Vue3中使用ref標(biāo)簽對組件進行操作方法

    這篇文章主要介紹了Vue3中使用ref標(biāo)簽對組件進行操作方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • VUE實現(xiàn)時間軸播放組件

    VUE實現(xiàn)時間軸播放組件

    這篇文章主要為大家詳細介紹了VUE實現(xiàn)時間軸播放組件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10

最新評論

绵阳市| 自贡市| 太湖县| 伊吾县| 新乐市| 焉耆| 南华县| 定州市| 四川省| 遂昌县| 山东| 城固县| 太仓市| 招远市| 景谷| 望城县| 玉门市| 兰溪市| 迭部县| 邹城市| 凌海市| 阿拉善右旗| 察雅县| 重庆市| 偏关县| 交城县| 香港| 灵石县| 甘谷县| 鄯善县| 遵义县| 牟定县| 澄城县| 滨州市| 永安市| 巍山| 郧西县| 威宁| 桂东县| 孙吴县| 银川市|