2012-03-22 203 views
12

作为Backbone.js的新手,只是想澄清正确的方式去完成这个简单的任务。Backbone.js singular模型不在集合中

开发一个Web应用程序,几乎总是,你就会有用户帐户,用户可以登录到您的应用程序,并查看他们的个性化数据。通常,他们的页面可能会显示一些小部件,他们的用户信息(名称,头像等)。

现在每创造一个小部件模型,并在集合分组,这些是一个简单的概念。但是,他们的用户信息会被存储在一个单独的模型中,这不会是一个Collection的区别吗?

如果是这样,怎么会是迷上了应用程序的其他部分?原谅我的无知,但我还没有遇到过任何不解释的例子。模型不能在集合中使用它们(用户和用户,狗,猫和动物等)

无论如何,抱歉的长时间的解释。我要寻找到让我开始做一个真实世界的应用程序,而不是一个待办事项应用程序。如果你想没有收藏,不要模型/视图(这是伟大的基本概念的理解)

回答

21

没有任何理由感到被迫宣布一个Collection为每Model您的应用程序。让没有集合的模型关联是非常常见的。

// code simplified and not tested 
App.CurrentUser = Backbone.Model.extend({ 
    url: "http://myapp.com/session.json" 
}); 

App.CurrentUserView = Backbone.View.extend({ 
    el: "#user-info", 

    render: function(){ 
    this.$el.html("<h1>" + this.model.get("name") + "</h1>"); 
    } 
}); 

var currentUser = new App.CurrentUser(); 
currentUser.fetch(); 

var currentUserView = new App.CurrentUserView()({ model: currentUser }); 
currentUserView.render(); 
+0

1例如。这很有道理,谢谢你的回答! – crawf 2012-03-22 20:11:14

+0

这适用于单数api资源。 “/api/user.json”(vs users.json) – 2018-01-03 14:41:27

1

任何资源写一个集合或集合视图。

以与通常看到添加的基于集合的视图相同的方式添加视图。