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')
将按预期工作。
在我的应用程序中,我像这样加载路线模型:
@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')
将按预期工作。