gpt4 book ai didi

javascript - 基于 parent 集合中的 child 的计算属性

转载 作者:行者123 更新时间:2023-11-29 10:42:39 25 4
gpt4 key购买 nike

我有一个 jsbin 来说明我的问题:http://emberjs.jsbin.com/xuperezacuha/1/

我有一个 Controller ,其属性是对象(父对象)的集合,每个父对象都有对象(子对象)的集合。例如,每本书都有章节的集合。

来自 jsbin:我的索引 Controller 上有一个名为 allChapters 的计算属性,当向任何父级添加新章节时,它不会重新计算。

如何将计算属性基于添加到任何父对象子集合的子对象?

最佳答案

创建一个具有计算属性的 ember 对象,并将子项包装在该对象中。

App.Book = Em.Object.extend({
chapterLength: Em.computed.alias('chapters.length')
});


App.IndexRoute = Ember.Route.extend({
model: function() {
return [
App.Book.create({name: 'red', chapters: []}),
App.Book.create({name: 'blue', chapters: []}),
App.Book.create({name: 'yellow', chapters: []})
];
}
});

然后观察计算属性

 allChapters: function() {
_ret = []
this.get('model').forEach(function(book) {
book.get('chapters').forEach(function(chapter) {
_ret.pushObject(chapter);
})
})
return _ret;
}.property('model.@each.chapterLength'),

http://jsbin.com/xuperezacuha/4/edit

关于javascript - 基于 parent 集合中的 child 的计算属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25732903/

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