Backbone.js奇异模型不在集合中

时间:2012-03-22 12:36:46

标签: javascript model-view-controller backbone.js web

成为Backbone.js的新手,只是想澄清一下这个简单任务的正确方法。

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

现在为每个窗口小部件创建一个模型并将它们分组到一个集合中是一个简单的概念。但是,他们的用户信息是否会存储在一个单独的模型中,而这个模型不属于Collection?

如果是这样,如何与应用程序的其余部分联系起来?请原谅我的无知,但是我还没有遇到任何不解释模型的模型(用户和用户,狗,猫和动物等)

无论如何,对于长篇解释感到抱歉。我会寻找任何资源让我开始制作一个真实世界的应用程序,而不是ToDo应用程序(这对于理解基本概念非常有用)

2 个答案:

答案 0 :(得分:21)

没有任何理由感到被迫为您的应用程序的每个Collection声明Model。没有Collection的模型很常见。

// 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();

答案 1 :(得分:1)

如果您想要一个没有集合的模型/视图,请不要编写集合或集合视图。

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