gpt4 book ai didi

backbone.js - 在 Backbone 的嵌套集合中监听模型中的特定属性更改

转载 作者:行者123 更新时间:2023-12-03 14:25:57 25 4
gpt4 key购买 nike

我有以下主干结构:

- 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"));
}

});

但是 Marionette 或 Backbone 是否有更好的方法来做到这一点,而不是循环遍历父集合并将监听器添加到每个子集合,也许像
this.listenTo(this.order_collection, "change:menu_items:quantity", this.on OrderItemsChanged)
(这对我不起作用)

最佳答案

看看Backbone.DeepModel .显然,您可以将 Order 表示为具有深层结构的单个模型并收听 change:order_items.*.menu_items.*change:order_items.menu_items.* .请注意,此解决方案会阻止您将嵌套列表的好处用作 Backbone.Collection。我认为这是一个很好的权衡,但你的里程可能会有所不同

关于backbone.js - 在 Backbone 的嵌套集合中监听模型中的特定属性更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16250785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com