som*_*y32 11 javascript ember.js ember-data
基于另一个属性为当前控制器重新加载模型的最佳方法是什么?
例如:我有一个帖子控制器.作者只能有一个帖子.如果currentAuthor属性发生更改,我想重新加载post创建表单.
我试过这样的方式:
App.PostEditController = Ember.ObjectController.extend
modelReloadNeeded: Ember.observer((obj, keyName) ->
postId = @get('currentAuthor').get('post_id')
if postId?
@set('model', @store.find('post', postId))
, 'currentAuthor.post_id'
)
Run Code Online (Sandbox Code Playgroud)
它重新加载所有东西,但不是真正的模型,而是承诺.而且它看起来不像是一个惯用的Ember解决方案.
也许有更好的方法来解决这个问题?
我很紧张为您提供这个问题的解决方案,因为我不确定您是否正确处理它,但是:
App.PostEditController = Ember.ObjectController.extend({
modelReloadNeeded: function () {
this.get('content').reload();
}.observes('currentAuthor')
});
Run Code Online (Sandbox Code Playgroud)
这应该重新加载PostEditController的内容属性,因此每当内容的currentAuthor属性发生更改时都会更新您的模板。