gpt4 book ai didi

javascript - Ember : How to update a single field in an array of JSON objects in a controller?

转载 作者:行者123 更新时间:2023-12-02 15:51:52 25 4
gpt4 key购买 nike

如何在 Controller 中将 Einstein 的分数更新为 100?

在 Controller 中,我有一个 JSON 对象数组,例如:

items = [
{title:"John", score:24},
{title:"Einstein", score:2},
{title:"Mary", score:19}
];

这是使用如下组件在模板中呈现的:

{{#each items as |item|}}
{{some-child-component scoreVal=item.score}}
{{/each}}

我应该怎样做才能将 Einstein 的分数更新为 100?我只想更改该特定字段并将其反射(reflect)在应用程序中。

我想避免用新的(几乎相同的)替换整个数组,因为这会导致模板中所有组件的刷新。

[失败]我尝试使用:

var allItems = this.get('items');
allItems[1]['score'] = 100; //ERROR

还有

   this.set('items[1][score]',100); //ERROR

最佳答案

我发现了 Ember 的做法:

var elem = items.objectAt(1);
Ember.set(elem, 'score', 100);

关于javascript - Ember : How to update a single field in an array of JSON objects in a controller?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31794811/

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