如何更改所有骨干模型属性

用户名

我是Backbone的新手,请帮助我解决这个问题。

我的模型如下所示:

var optionItem = Backbone.Model.extend({});
var itemOne = new optionItem({price: 200});
var itemTwo = new optionItem({price: 300});
var itemThree = new optionItem({price: 400});

我的收藏集如下所示:

var optionClass = Backbone.Collection.extend({});  
var firstOptionClass = new optionClass([itemOne, itemTwo, itemThree]);

要求是创建3个单选按钮,并显示所有3个项目的价格。当用户单击任何单选按钮时,所选项目的价格将更改为“包括在价格中”,其他2个项目将显示差价。例如,如果我单击itemOne,则itemTwo的价格将为“ +100”,而不是显示为300。

我知道如何为模型和集合创建视图以显示原始信息,但不知道如何编写click事件函数...当前我在模型视图中具有事件函数,但无法访问其他2个模型的价格属性要执行数学运算,我应该将事件功能移至集合视图吗?

请帮助,提前谢谢!!!!

金角田

有两种方法可以解决此问题,但要记住的一件事是,每个模型都维护对其所属集合的引用。因此,在您看来,this.model有一个this.model.collection属性,您可以在需要时使用它来访问集合。这就是说,我可能会使用一个集合视图来处理收集相关信息,以防止项目视图从违反显示单一职责原则当选项中选择一个,有选择的模型触发的事件。模型事件冒泡到集合,您可以让集合视图在集合上侦听该事件以更新其他选项的“差异”值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何批量分配骨干模型的所有属性?

来自分类Dev

骨干中具有属性的模型的数量

来自分类Dev

如何从响应中加载属性的骨干模型?

来自分类Dev

骨干网:如何直接从其集合中保存模型的属性更改?

来自分类Dev

骨干.js中更改事件的模型访问属性

来自分类Dev

骨干获取返回我的模型的所有实例

来自分类Dev

骨干-集合中所有模型的聚合器事件触发

来自分类Dev

Django:如何返回与ForeignKey相关联的所有模型,包括这些模型的所有属性?

来自分类Dev

骨干粘性-恢复模型更改

来自分类Dev

骨干模型 替换属性哈希

来自分类Dev

动态更新骨干模型属性

来自分类Dev

如何获得模型的所有属性减去一些

来自分类Dev

如何在何时允许模型的所有属性

来自分类Dev

如何更改窗口中所有按钮的属性?

来自分类Dev

骨干模型更改和视图渲染更新

来自分类Dev

骨干视图不收听要更改模型

来自分类Dev

骨干模型更改和视图渲染更新

来自分类Dev

更改骨干.js中的视图模型

来自分类Dev

骨干无法按/排序嵌套模型属性

来自分类Dev

骨干将模型属性绑定到输入

来自分类Dev

骨干模型中的自定义属性

来自分类Dev

无法清除骨干模型数组属性

来自分类Dev

向骨干模型的各个属性添加值

来自分类Dev

销毁骨干集合中的所有模型(保留在本地存储中)

来自分类Dev

修改Laravel模型的所有属性

来自分类Dev

修改Laravel模型的所有属性

来自分类Dev

总计模型类型的所有属性

来自分类Dev

骨干模型对象在获取期间具有未定义的原型属性

来自分类Dev

我如何在骨干网js的路由器中检查模型的属性?