我目前正在使用一个具有CollectionView的ContainerView,但是希望在CollectionView的ItemView中有另一个View。我已经将ItemView更改为ContainerView,并附加了新的View,但是我无法绑定来自父Collection的内容 - >容器给孩子查看。
我可以传递值,但由于某种原因绑定只是barf。
代码:
App.MainView = Ember.ContainerView.extend({
header: Ember.View.create({
templateName: "headerView"
}),
list: Ember.CollectionView.extend({
contentBinding: "parentView.content",
itemViewClass: "App.childContainer",
tagName: "table"
}),
footer: Ember.View.create({
templateName: "footerView"
})
});
App.childContainer= Ember.ContainerView.extend({
templateName: "childContainer",
didInsertElement: function() {
//NOTE:: THIS WORKS
var v = App.childContainerItem.create({"content":this.get('content')});
//NOTE:: THIS DOESN'T WORK
var v = App.childContainerItem.create({"contentBinding":"this.content"});
this.get('childViews').pushObject(v);
}
});
App.childContainerItem= Ember.View.extend({
didInsertElement: function() {
console.log(this.get('content').get('value'));
}
});
我得到:TypeError: this.get("content") is undefined
我感觉我很亲近,但只是错过了一些愚蠢的事情。有人可以给我敲额头吗?
答案 0 :(得分:0)
您可以通过添加此行didInsertElement函数
来获取视图的html内容App.childContainerItem= Ember.View.extend({
didInsertElement: function() {
console.log(this.get('content').get('value'));
}
});