gpt4 book ai didi

javascript - 当数组中的任何项目发生变化时,如何使 Ember 计算属性更新?

转载 作者:行者123 更新时间:2023-11-30 08:43:21 24 4
gpt4 key购买 nike

假设我有以下数据:

[
{ id: "54101", name: "A\1" },
{ id: "cbbb4", name: "A\2" },
{ id: "b4e37", name: "B\1" },
{ id: "ff099", name: "B\2" },
{ id: "8715f", name: "B\3" },
{ id: "1f414", name: "C\1\a" },
{ id: "77ba6", name: "C\1\b" }
]

通过我的 route 的 promise 加载。

我想要一个名为 rootNode 的属性,它具有以下结构:
(我已经有了使用 POJO 执行此操作的代码,因此可以忽略转换此对象所需的逻辑)

{
name: null,
value: null,
children: [
{
name: "A",
value: null,
children: [
{ name: "1", value: /* object above */, children: [] },
{ name: "2", value: /* object above */, children: [] }
]
},
{
name: "B",
value: null,
children: [
{ name: "1", value: /* object above */, children: [] },
{ name: "2", value: /* object above */, children: [] },
{ name: "3", value: /* object above */, children: [] }
]
},
{
name: "C",
value: null,
children: [
{
name: "1",
value: null,
children: [
{ name: "a", value: /* object above */, children: [] },
{ name: "b", value: /* object above */, children: [] }
]
}
]
}
]
}

使用 Ember,是否可以创建一个计算属性,以便在任何名称更改或添加或删除项目时更新此树?

现在我已经使用 Ember 整整 18 个小时了,我有点不知所措。我已经使用 Angular 的 $watch 功能实现了这个,但由于其他方面的限制,我不得不放弃 Angular。

最佳答案

你会使用@each:

Ember.computed('myArrayProp.@each.somePropToObserve', function() {
/* your code here */
})

关于javascript - 当数组中的任何项目发生变化时,如何使 Ember 计算属性更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24234108/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com