问题在于我无法正确显示我对余烬属性所做的更改。
以下是行动:
toggle_favorites: function() {
var favorite = this.get('some_service').get("favorites");
this.set("favorite", favorite);
if (favorite.length > 0) {
this.set("hasFavorites", true);
}
// show some feedback, irrelevant
},
之后我只是将所有内容显示为列表
{{#each favorite}} ...
问题在于,如果我不断向列表中添加内容,则更改不会反映在hbs文件中。
我尝试使用如下的计算属性
favs: Ember.computed("hasFavorites", "some_service.favorites", "favorite.length", function() {
return this.get("favorite");
}).property('@favorite.length'),
并显示,但无济于事。 如果我在列表中添加某些内容,然后触发我的操作就会成功,但每次顺序添加都不会显示。
我使用的是Ember 2.6。
答案 0 :(得分:0)
我有一些奇怪的解决方法
我正在使用
this.set("favorite", null);
this.set("favorite", favorite);
和
favs: Ember.computed("favorite.[]", function() {
return this.get("favorite");
}),
将favorite属性设置为null,似乎可以解决问题,虽然我无法绕过它。
答案 1 :(得分:0)
@Rentonie,使用favorite.length
或favorite.@each.someprop
尝试
favs: Ember.computed("favorite.length", function() {
return this.get("favorite");
}),
或
favs: Ember.computed("favorite.@each.someprop", function() {
return this.get("favorite");
}),