

vue3使用reactive包裹数组如何正确赋值
source link: https://www.joynop.com/p/412.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

vue3使用reactive包裹数组如何正确赋值
需求:将接口请求到的列表数据赋值给响应数据arr
const arr = reactive([]);
const load = () => {
const res = [2, 3, 4, 5]; //假设请求接口返回的数据
// 方法1 失败,直接赋值丢失了响应性
// arr = res;
// 方法2 这样也是失败
// arr.concat(res);
// 方法3 可以,但是很麻烦
res.forEach(e => {
arr.push(e);
});
};
vue3使用proxy
,对于对象和数组都不能直接整个赋值。
使用方法1能理解,直接赋值给用reactive
包裹的对象也不能这么做。
方法2为什么不行?
只有push或者根据索引遍历赋值才可以保留reactive数组的响应性?
如何方便的将整个数组拼接到响应式数据上?
提供几种办法
const state = reactive({
arr: []
});
state.arr = [1, 2, 3]
const state = ref([])
state.value = [1, 2, 3]
const arr = reactive([])
arr.push(...[1, 2, 3])
这几种办法都可以触发响应性,推荐第一种
打赏: , - (付款时请注明赞赏)
Recommend
-
13
在C语言程序中,为什么二维数组赋值的顺序会影响效率? 发表于 2019-08-27 2...
-
10
(已解决)为什么C++数组在函数内无法计算正确的元素个数?这个问题别人也问过,但我看答案没找到自己想知道的,因为我想问的是底层的问题。 我知道参数的传递是把实参的值或副本或地址传递给形参,也知道...
-
4
如何正确地对$@进行赋值 $@ 比较特殊,跟一般的 $VAR 都不一样. 当进行赋值时通常需要把 $@ 赋值给数组变量,否则在处理由引号括起来的带空格的参数时就可能会有问题了. 下面是举几个例子作为演示:
-
9
请问批处理编程如何把特殊字符赋值给变量? - V2EX V2EX › Windows 请问批处理编程如何把特殊字符赋值给变量?
-
5
C++如何把字面量赋值给指针的引用?在vs2017中写了段C++: const char* p = "hello"; // 正确 const char* &p2 = "hello"; /…2
-
6
js 嵌套数组赋值问题 const arr = Array(2).fill(Array(2).fill(0)); // arr = [[0, 0], [0, 0]] arr[1][1] = 1; // expected: [[0, 0], [0, 1]] // current: [[0, 1], [0, 1]] 为啥给数组第二个元素里的最后一项...
-
8
使用反射(reflect)对结构体赋值 上一篇 中,我们看了GIN是如何绑定参数并且校验的,本着知道如何使用也要知道底层原理的 探索精神,这一篇中,我们自己来使用 ...
-
13
数组乱序的正确姿势 2016-07-25 Monday 在 underscore 中有一个函数,其作用是将数组乱序排序,实现如下: // Shuffle a collection, using the...
-
6
Python中避免在给多维数组赋值之前判断key是否存在的方法 Python在使用二维及多维数组(dict)时,每次赋值之前都需要判断一维及较小维度上的key是否存在。本文将介绍对于...
-
9
数组类型别名,类型不同却可以赋值是什么情况 aaaa · 大约6小时之前...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK