在OfferRoute中,我有一个容器和一个控制器的方法来向它添加视图:
addProduct: function() {
var container = Ember.View.views['containerView'];
var child = container.createChildView(Gmcontrolpanel.InsertProductView);
container.pushObject(child);
}
一切正常但如果我转到应用程序的另一个页面然后我回到商品页面,容器中的子视图就会丢失; 我可以看到HTML输出是空容器:
<div id="containerView" class="ember-view"></div>
有人知道为什么会这样吗?
答案 0 :(得分:1)
切换页面时重绘视图。因此,每次都会获得一个带有空子列表的新containerView实例。
我不建议将Em.View.views对象用于该任务。如果您需要在重绘之间存储数据状态,那么它更可能是控制器作业,而containerView需要绑定到此controller.product列表并显示每个产品。
{{#each}}帮助器或自定义CollectionView可能会帮助您更优雅地解决任务。