Model view controller Backbone.js视图

Model view controller Backbone.js视图,model-view-controller,backbone.js,view,Model View Controller,Backbone.js,View,假设我正在创建一种社交网络。一方面,您可以搜索显示个人资料列表的人员;另一方面,您可以单击“我的朋友”按钮,该按钮还显示配置文件列表。因此,在这两种情况下,您都会得到一个配置文件列表,但略有不同,例如,在srcond列表中没有“交朋友”按钮,或者在每个列表项中没有任何其他差异 我的问题是:在这种情况下,我是否应该为两个列表创建一个视图,例如“listOfProfiles”?如果是,我该如何处理dofferences或任何我想在两者之一中显示的进一步内容?若否,原因为何 我知道这是一个一般性的问题

假设我正在创建一种社交网络。一方面,您可以搜索显示个人资料列表的人员;另一方面,您可以单击“我的朋友”按钮,该按钮还显示配置文件列表。因此,在这两种情况下,您都会得到一个配置文件列表,但略有不同,例如,在srcond列表中没有“交朋友”按钮,或者在每个列表项中没有任何其他差异

我的问题是:在这种情况下,我是否应该为两个列表创建一个视图,例如“listOfProfiles”?如果是,我该如何处理dofferences或任何我想在两者之一中显示的进一步内容?若否,原因为何


我知道这是一个一般性的问题。只是我对主干网或MVC一般来说是新手,我想了解这个概念

Backbone.js的一个优点是,一个模型实例可以同时存在于多个集合中,因此,当一个模型在一个集合中更新时,同一个实例在另一个集合中更新,同时触发两个集合和两个模型的事件

这意味着您应该并且可以在应用程序范围上创建一个“全局”UsersCollection,将所有用户实例推送到其中

var UserCollection = Backbone.Collection.extend({});
var userCollection = new UserCollection();
    userCollection.update([models], {remove: false});
下次初始化第二个UserCollection时,可以在“parse”方法上添加一个方法,以获取或获取全局usersCollection中的模型实例,这样就不会两次实例化具有相同id的模型

我会将这些集合彼此分开,因为每个集合可能都有一个不同的比较器。想象一个按字母顺序列出的用户视图(朋友)和另一个州列出的用户列表


利用多个集合中模型的单个实例的强大功能,尝试通过全局集合保持模型同步。那将是我前进的方向。

谢谢!!你是说一个模型(用户)一个视图(用户列表)和各种集合(朋友、追随者、搜索结果、追随者等)?是的,尝试让一个特定用户的相同模型实例在每个集合中都相同,因为每个集合都有相应的视图。