转换到另一个路径后缺少容器中的视图

时间:2014-03-22 02:53:34

标签: ember.js

在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>

有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

切换页面时重绘视图。因此,每次都会获得一个带有空子列表的新containerView实例。

我不建议将Em.View.views对象用于该任务。如果您需要在重绘之间存储数据状态,那么它更可能是控制器作业,而containerView需要绑定到此controller.product列表并显示每个产品。

{{#each}}帮助器或自定义CollectionView可能会帮助您更优雅地解决任务。