我现在拥有的
- 产品型号/视图;
- 产品集合;
- 产品列表视图;
- 相当直接的寻呼机视图;
- 当然还有路由器;
路由器
var AppRouter = Backbone.Router.extend({
routes: {
'': 'list',
'!/products': 'list',
'!/products/page/:page': 'list'
//, '!/search/:term/:page': 'some_handler'
}
});
appRouter.on('route:list', function(page) {
renderProductsList(page);
});
var renderProductsList = function(page) {
require(['collections/ProductsList', 'views/ProductListView', 'views/PagerView'],
function(ProductsList, ProductListView, PagerView) {
var p = page ? parseInt(page, 10) : 1;
var productsList = new ProductsList();
productsList.fetch({
success: function() {
var $container = $("#content-region");
$container.html(new ProductListView({
model: productsList,
page: p
}).el);
// attach pager
var $pager = new PagerView({
// pager options
}).$el;
// ...
},
error: function() {
// handle the error
}
});
});
}
问题
- 我应该重用
renderProductsList
方法吗? - 我知道像
where
,之类的函数filter
可以在集合上调用吗?我该如何使用它? - 我应该缓存获取的结果吗?
- 如何重复使用我的寻呼机?
options
我应该在参数中传递 url 模式吗? - 好吧......我如何重建我的应用程序以使其可以通过例如这条路线进行搜索
!/search/:term/:page
我对使用不感兴趣
Backbone.Pagination