Javascript 实现骨干网列表应用的最佳途径
我使用backbone.boilerplate创建一个简单的应用程序 我想创建一个模块,可以显示网站的集合。每个站点都有id和title属性(例如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)
[{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中发布,但首先我尝试重写我的模块=)