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

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

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

reacitve函數(shù)如何聲明一個響應式數(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失去了響應式。

解決辦法

使用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)建一個響應式對象,對象的屬性是數(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ù)賦值給響應數(shù)據(jù)arr

代碼 

const arr = reactive([]);
const load = () => {
? const res = [2, 3, 4, 5]; //假設請求接口返回的數(shù)據(jù)
? // 方法1 失敗,直接賦值丟失了響應性
? // 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) // 解構然后push進去

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

相關文章

  • Vue如何實現(xiàn)iframe的上一步、下一步操作

    Vue如何實現(xiàn)iframe的上一步、下一步操作

    這篇文章主要介紹了Vue如何實現(xiàn)iframe的上一步、下一步操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • vue動態(tài)綁定class的幾種常用方式小結(jié)

    vue動態(tài)綁定class的幾種常用方式小結(jié)

    這篇文章主要介紹了vue動態(tài)綁定class的幾種常用方式,結(jié)合實例形式總結(jié)分析了vue.js常見的對象方法、數(shù)組方法進行class動態(tài)綁定相關操作技巧,需要的朋友可以參考下
    2019-05-05
  • Vue.js中輕松解決v-for執(zhí)行出錯的三個方案

    Vue.js中輕松解決v-for執(zhí)行出錯的三個方案

    v-for標簽可以用來遍歷數(shù)組,將數(shù)組的每一個值綁定到相應的視圖元素中去,下面這篇文章主要給大家介紹了關于在Vue.js中輕松解決v-for執(zhí)行出錯的三個方案,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • Vuex中mutations的用法及說明

    Vuex中mutations的用法及說明

    這篇文章主要介紹了Vuex中mutations的用法及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 詳解vue 模版組件的三種用法

    詳解vue 模版組件的三種用法

    本篇文章主要介紹了詳解vue 模版組件的三種用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • vue中內(nèi)網(wǎng)/局域網(wǎng)/離線的情況下使用及建立項目方式

    vue中內(nèi)網(wǎng)/局域網(wǎng)/離線的情況下使用及建立項目方式

    這篇文章主要介紹了vue中內(nèi)網(wǎng)/局域網(wǎng)/離線的情況下使用及建立項目方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 使用Vue.js和MJML創(chuàng)建響應式電子郵件

    使用Vue.js和MJML創(chuàng)建響應式電子郵件

    這篇文章主要介紹了使用Vue.js和MJML創(chuàng)建響應式電子郵件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • vue 自定義指令自動獲取文本框焦點的方法

    vue 自定義指令自動獲取文本框焦點的方法

    今天小編就為大家分享一篇vue 自定義指令自動獲取文本框焦點的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Vue中使用vux配置代碼詳解

    Vue中使用vux配置代碼詳解

    這篇文章主要介紹了Vue中使用vux配置代碼詳解,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • Vue組件之間的通信你知道多少

    Vue組件之間的通信你知道多少

    這篇文章主要為大家詳細介紹了Vue組件之間的通信,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02

最新評論