我无法获得计算属性进行重新计算。
我的路线如下:
App.DiagnosticsRoute = Ember.Route.extend({
model: function() {
return Ember.RSVP.hash({
lights: this.store.find('light'),
networkInterfaces: this.store.find('networkInterface'),
networks: this.store.find('network', { diagnostics: "1"})
});
},
});
我的控制器具有以下计算属性:
networksCount: function() {
var networks_count = this.get('networks.length');
if (0 == networks_count) return '(All Clear)';
return networks_count;
}.property('networks.length')
我想轮询服务器以刷新网络集合。我已将store.find(' network')放置在应用程序的其他位置,虽然chrome ember扩展显示数据已加载到商店中,但上述计算属性并未更新。 AdapterPopulatedRecordArray没有实现重新加载。我怎样才能让财产重新计算?
答案 0 :(得分:0)
我通过How to update Ember's model periodically (such as in setInterval)?
找到了一个非常好的解决方案 actions: {
update: function() {
this.set('networks',this.store.find('network'));
}
},
networksCount: function() {
var networks_count = this.get('networks.length');
if (0 == networks_count) return '(All Clear)';
return networks_count;
}.property('networks.length')