1

在我的应用程序中,我有一个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. 我的order对象正在使用主干关系插件来实现order对象和子集合之间的关系cart,但即使没有它,也会出现这个问题。

我错过了一些明显的东西吗?

4

0 回答 0