Ember重新加载卸载的型号

时间:2015-03-19 03:40:32

标签: javascript ember.js ember-data

在我的应用程序中,我为这样的路径加载模型:

    @modelFor('stream').get('messages')

但是有很多消息,当我更改流时,我想从上一个流中卸载消息以提高性能:

   @modelFor('stream').get('messages').toArray().forEach (r)=>
    @store.unloadRecord(r)

问题是:当我返回已经卸载的流时,我没有收到任何消息。我试着做@modelFor('stream').get('messages').reload(),但我一无所获......

谁能告诉我如何实现它?

1 个答案:

答案 0 :(得分:0)

卸载模型时,也会卸载所有关系。 这意味着stream无法了解已卸载的messages。 解决方案是使用查询加载消息:

beforeModel: ->
  @store.find 'message', stream_id: @modelFor('stream').get('id')

然后

@modelFor('stream').get('messages')

将按预期工作。