我希望将给定草稿(父元素)的子元素(注释)作为计算属性从Ember.DocumentController
返回。
在这种情况下,我想返回属于editableDraft
属性的所有注释。
或者有更好的方法吗?
App.DocumentController = Ember.ObjectController.extend({
editableDraft: function() {
var editDrafts = this.get('model.drafts').filterBy("editable", true);
var draft = editDrafts.length ? editDrafts[0] : null;
return draft;
}.property('model.drafts.@each.editable'),
editableNotes: function() {
var eDraft = this.get("editableDraft"); // want to return notes of editableDraft
return eDraft.get("notes");
}.property('model.drafts.@each.editable')
});
请参阅jsbin!
中的测试应用答案 0 :(得分:0)
两个问题。一,在document
模板中,这里:
{{render 'editableDraftNotes' notes}}
使用提供的参数替换控制器和模型时,Render会发生一些奇怪的事情。在这种情况下不是你需要的。试试这个:
{{partial 'editableDraftNotes'}}
两个,在editableNotes
属性中。您应该听editableDraft
上的更改。另外,因为Ember.Data返回promises,所以你必须链接你的获取(this.get("A.B")
而不是this.get("A").get("B")
)。试试这个:
editableNotes: function() {
return this.get("editableDraft.notes");
}.property('editableDraft')
工作jsbin here。