Ember 重新加载已卸载的模型

Ember reload unloaded models

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

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

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

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

问题是:当我 return 到已经卸载的流时,我没有收到任何消息。我尝试做 @modelFor('stream').get('messages').reload(),但我什么也没得到...

谁能告诉我如何实现?

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

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

然后

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

将按预期工作。