在我的应用程序中,我有一个CompositeView
包裹一个类似于购物车的物体。当用户点击某个项目时,它会被添加到他们的购物车中,如下所示:
// app.js:
app.main.show(new Cart({ collection: order.get('cart') });
...
// cart.js:
var Cart = Marionette.CompositeView.extend({
// Lots of configuration stuff
addItemToCart: function() {
this.collection.add(new Item());
console.log(order.get('cart').length === 1); // true
}
});
...
// back in app.js:
app.main.show(new SomeOtherView()); // closing out cart view
console.log(order.get('cart').length === 1); // false
但是,即使我的order
对象在Cart
视图的生命周期内保持不变,但当我关闭Cart
视图时,控制台会为order.get('cart').length
注销0 。我的order
对象正在使用骨干关系插件来实现order
对象和cart
子集合之间的关系,但即使没有它,也会出现此问题。
我错过了一些明显的东西吗?