我有返回布尔动态控制器财产,如果有关系计数低于5不叫控制器属性当我为关系添加新记录时,它不会改变。Ember.js:当属性改变
这是模型:
App.Item = DS.Model.extend({
name: DS.attr(),
aliens: DS.hasMany('alien')
});
我的aliens
对象使用pushObject
当我创建了一个新的纪录。
我不确定这应该怎么做,显然我没有正确地做。
演示:http://emberjs.jsbin.com/yegiku/2/edit
它似乎没有工作。根据您的建议更新'alienCountBelow5'后,出现错误“无法读取未定义的属性”。然后,我尝试在关系中添加“{async:true}”,但之后我处于现状:http://emberjs.jsbin.com/yegiku/2/edit – 2014-09-03 09:59:14
好吧,现在我看到您的代码了解了。它不工作的原因是因为你的'model'是记录的一个*数组*,因此把一个计算的属性放在你的'ArrayController'上将不会有用。相反,我把属性放在你的模型上(如果你不认为这是模型相关的逻辑),你也可以把它放在一个'ItemController'上。看到这里:http://emberjs.jsbin.com/poqobevukozo/1/edit – sheldonbaker 2014-09-03 17:35:40
是的,我想通了。感谢“ArrayController”和“ItemController”的例子! – 2014-09-08 10:16:33