我有以下主干结构:
- collection[order_items]
- collection[menu_items]
- price
- quantity
我想听听数量属性的任何变化,我让它工作了
var CheckoutView = Backbone.Marionette.ItemView.extend({
template: '#template-checkout',
initialize: function (options) {
this.order_collection = options.collection;
_(this.order_collection.models).each(function (element, index, list) {
this.listenTo(element.get("menu_items"), "change:quantity", this.onOrderItemsChanged);
}, this);
},
onOrderItemsChanged: function (model, val, options) {
console.log(model.get("name"));
}
});
但是木偶或骨干是否有更好的方法来做到这一点,而不是循环遍历父集合并将侦听器添加到每个子集合,也许像
this.listenTo(this.order_collection, "change:menu_items:quantity", this.on OrderItemsChanged)
(这对我不起作用)