【问题标题】:How to refresh Ember model and computed properties (AdapterPopulatedRecordArray)?如何刷新 Ember 模型和计算属性(AdapterPopulatedRecordArray)?
【发布时间】:2014-07-04 12:32:00
【问题描述】:

我无法重新计算计算属性。

我的路线是这样的:

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 不实现重新加载。如何让属性重新计算??

【问题讨论】:

  • 你能提供一个 jsbin 来解决这个问题吗?

标签: ember.js ember-data


【解决方案1】:

我找到了一个很好的解决方案: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')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-07
    • 2016-02-10
    • 2019-12-27
    • 1970-01-01
    • 2014-10-09
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多