我有以下代码段:
App.TripLegView = Em.View.extend({
transportMeanType: null,
transportMeanTypeChanged: function () {
this.carView = App.CarView.create();
var childView = this.createChildView(this.carView );
this.get('childViews').pushObject(childView);
}
}).observes('transportMeanType'),
App.CarView = Em.View.extend();
但是,当我调试上面的代码时,子视图似乎没有添加到childViews数组中。
任何人都可以解释如何正确添加子视图。
答案 0 :(得分:0)
首先,似乎你在滥用observes()
,它应该在函数上定义。
如果您想操纵子视图,我认为您应该使用Ember.ContainerView
您的代码将是这样的:
App.CarView = Em.View.extend();
App.TripLegView = Em.ContainerView.extend({
transportMeanType: null,
transportMeanTypeChanged: function () {
this.carView = App.CarView.create();
var childView = this.createChildView(this.carView );
this.get('childViews').pushObject(childView);
}.observes('transportMeanType')
});
如果它不起作用,请发一个jsfiddle给出一个例子。