2012-03-22 214 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

任何資源寫一個集合或集合視圖。

以與通常看到添加的基於集合的視圖相同的方式添加視圖。