javascript - Vue 3:在不破坏反应性的情况下展平反应性对象数组
问题描述
当我尝试扁平化嵌套对象的 Vue 3 反应性数组时,我失去了它们的反应性,我的应用程序实际上崩溃并挂起浏览器窗口。
我的 Vue 3 组件将数组定义为对象列表:
this.grouped = [
[this.tokens[0]],
[this.tokens[1]],
[this.tokens[2],this.tokens[3],this.tokens[4]], // nested
[this.tokens[5]]
]
我需要获取第二个索引(数组嵌套 3 个对象的位置)并将其展平,以便生成的数组看起来像这样定义:
this.grouped = [
[this.tokens[0]],
[this.tokens[1]],
[this.tokens[2]], //flattened
[this.tokens[3]], //flattened
[this.tokens[4]], //flattened
[this.tokens[5]]
]
当我尝试使用它splice
来执行此操作时,反应性会丢失(下面的示例,显示了失去的反应性。有什么想法吗?
解决方案
尝试Array#flat
:
const res = this.grouped.flat();
推荐阅读
- python - Tensorflow 2.0:使用 Reshape 进行形状推断返回无维度
- python - 将浮点数的 Pandas DF 转换为 Str,保持尾随零
- node.js - 打印有关哪个属性导致 mocha AssertionError 的信息
- flutter - Flutter:在 pubspec.yaml 中为包版本设置约束
- android - 我试图将 viewPager 添加到我的项目中,但有问题
- python - Python:无法安装我在 pypi.org 中看到的模块版本
- .net-core - EF Core ForeignKey 属性不会在迁移中创建约束
- azure - ASP.NET Core,找不到文件。我怎样才能发布它?
- html - 从 Go 中的 HTML 响应中解析逗号分隔的列表
- node.js - 在nodejs中更新redis中的键