San*_*der 31 javascript model-view-controller backbone.js
到目前为止,我一直在尝试的所有测试和教程,以获得我的头脑中的结构,告诉我一个视图绑定到1个模型.
假设我有一个小应用程序来存储和管理联系人详细信息(地址簿)我有多个用户可以登录,他们每个人都有自己的联系人集合.
用户详细信息视图将绑定到用户模型,同样适用于联系人
但是我想展示一个结合了这两个X轴的网格,显示应用Y轴上显示所有用户的所有联系人,
这是如何运作的?我是否需要为此创建一个新模型,以绑定到一个新视图?
你得到了这个想法,它只是一个理论上的例子,我不是在构建那个应用程序,而是为了得到一个结合多个模型的视图的想法
Bri*_*sio 50
在这种情况下,我会考虑使用两个子模型的动态模型.在您的路由处理程序中,您可以执行以下操作:
var model = new Backbone.Model();
model.set({contacts: new ContactsModel(), users: new UsersModel()});
var view = new GridView({model: model});
Run Code Online (Sandbox Code Playgroud)
当然,没有什么可以阻止你分别传递模型:
var contacts = new ContactsModel();
var users = new UsersModel();
var view = new GridView({model: contacts, users: users})
Run Code Online (Sandbox Code Playgroud)
我仍然更喜欢第一种方法,因为它不会混淆模型的内容.
小智 7
如果您确定它们不使用相同的参数,您也可以考虑合并两个模型.
var modelA = new myModel({ color: "blue" });
var modelB = new otherModel({ age: 35 });
var superModel = new Backbone.Model();
superModel.set(modelA);
superModel.set(modelB);
console.log("color:", superModel.get("color"));
console.log("age:", superModel.get("age"));
Run Code Online (Sandbox Code Playgroud)
看一看Backbone.Model.extend()以及
| 归档时间: |
|
| 查看次数: |
19375 次 |
| 最近记录: |