我使用backbone.boilerplate创建一个简单的应用程序。实现骨干列表应用的最佳方式
我想创建可以显示网站集合的模块。每个网站都有编号和标题属性(例如[{ 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')
};
}
});
OK,现在我的问题:帮助我请选择最好的方式来呈现一个网站视图,当用户点击收藏的元素时,我希望它是像gmail一样的工作:一个屏幕的所有字母和所有屏幕上的一个字母,当它选择。类似应用程序的示例。我正在等待您的广告恶习。
这几乎相当于“请建筑师一个令人难以置信的广泛问题我的网站“(或者”请向我解释如何构建一个主要的骨干网站“)。无论哪种方式,具有广泛性质的问题都不适合堆栈溢出;我认为你会有更好的运气:A)阅读一些Backbone教程或文章,或者B)在这里提出更具体的问题。 – machineghost 2013-03-25 21:49:32
好的,我理解你。我不希望你做我的工作,并创建网站,而不是我=)我只是想了解如何工作。 这是我的变体,也许你可以看到它并告诉我你对这个想法有什么看法? thx你 http://pastebin.com/VvPcPnQX – user1666362 2013-03-27 11:47:20