backbone.js在视图更改时更新模型的正确方法

时间:2012-04-06 09:32:45

标签: javascript backbone.js backbone-views

更改视图时更新模型的正确方法是什么。是需要在视图中还是在控制器等其他地方进行?

例如我有一个模型(model1)和一些与该模型相关的视图(View1)。当我更改视图上的某些字段时,我需要更新模型。这是正确的方法吗?

此外,我有一组与另一个视图(View2)相关联的模型,我需要将模型(model1)放到该集合中。 第二个问题 - View1或Model1应该知道收集,如果是的话 - 应该怎么做?

2 个答案:

答案 0 :(得分:1)

有一种有趣的MVC理论方法,应用于MVC ...在这里查看更多解释什么是Backbone中的控制器

http://lostechies.com/derickbailey/2011/12/23/backbone-js-is-not-an-mvc-framework/

@ derick-bailey撰写

总的来说,Bailey说Backbone中没有控制器。因此,我个人认为,每个模型更新都应该在视图中进行,与该模型相关联。

Backbone中的每个模型,当添加到集合(或集合)中并更新时会触发它所属的集合中的事件,因此您应该在视图中监听该事件。

在你的例子中

  • View1.collection = [model1];
  • View2.collection = [model1,model2,model3];

当View1更改model1时,model1会触发一个事件到View2.collection,你可以听。

答案 1 :(得分:0)

控制器与模型交谈,是的:当视图发生变化时,通过控制器更新模型的正确方法