Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 实现骨干网列表应用的最佳途径_Javascript_Backbone.js_Backbone Boilerplate - Fatal编程技术网

Javascript 实现骨干网列表应用的最佳途径

Javascript 实现骨干网列表应用的最佳途径,javascript,backbone.js,backbone-boilerplate,Javascript,Backbone.js,Backbone Boilerplate,我使用backbone.boilerplate创建一个简单的应用程序 我想创建一个模块,可以显示网站的集合。每个站点都有id和title属性(例如[{id:1,title:“github.com”},{id:2,title:“facebook.com”}] 我的路由器: routes: { "": "index", "sites": "sites" }, sites: function () { require(['modules/sites'], function (Sites)

我使用backbone.boilerplate创建一个简单的应用程序

我想创建一个模块,可以显示网站的集合。每个站点都有id和title属性(例如
[{id:1,title:“github.com”},{id:2,title:“facebook.com”}]

我的路由器:

routes: {
  "": "index",
  "sites": "sites"
},

sites: function () {
  require(['modules/sites'], function (Sites) {
    var layout = new Sites.Views.Layout();
    app.layout.setView('#content', layout);
  });
}
因此,“我的站点”模块具有布局,可执行以下操作:

Sites.Views.Layout = Backbone.Layout.extend({
  template: "sites/layout",
  className: 'container-fluid',

  initialize: function () {
    _.bindAll(this);

    this.collection = new Sites.Collections.Sites();
    this.collection.fetch({
      success: this.render
    });
  },

  beforeRender: function () {
    var siteList = new Sites.Views.SiteList({
      collection: this.collection
    });

    this.setView('.content', siteList);
  },
});

Sites.Views.SiteList = Backbone.View.extend({
  template: 'sites/list',

  beforeRender: function () {
    this.collection.each(function (model) {
      var view = new Sites.Views.SiteItem({
        model: model
      });
      this.insertView('tbody', view);
    }, this);
  }
});

Sites.Views.SiteItem = Backbone.View.extend({
  template: 'sites/item',
  tagName: 'tr',

  serialize: function () {
    return {
      title: this.model.get('title')
    };
  }
});

好的。现在我的问题是:请帮助我选择当用户点击集合元素时呈现一个站点视图的最佳方式。我希望它的工作方式类似于gmail:一个屏幕显示所有字母,所有屏幕显示一个字母。也许你有类似应用程序的链接。我正在等待你的建议。

查看你的页面astebin代码看起来您对主干网有了基本的了解,这当然是您开始工作所需要的

尽管如此,您可能会发现本文/教程很有帮助。它介绍了构建互连视图的过程(在教程中,它们是相关的
元素),这些视图使用AJAX更新其值:


这是一个非常广泛的问题,几乎相当于“请为我设计我的站点”(或者“请向我解释如何构建一个主要的主干网站点”)。不管怎样,这种性质的广泛问题并不适合堆栈溢出;我想你也会有更好的运气:a)阅读一些主干教程或文章,或者B)在这里问一个更具体的问题。好的,我理解你。我不想让你们做我的工作,并创建网站,而不是我=)我只是想了解这必须如何工作。这是我的变体,也许你可以看看,然后告诉我你对这个想法有什么看法?谢谢你,这是一篇非常有用的文章。我将尝试将其翻译成俄语并在habrahabr.ru中发布,但首先我尝试重写我的模块=)