我试图使用如下的Backbonejs实现嵌套路由:
var Router = Backbone.Router.extend({
routes: {
'(/)': 'root',
'/a/:id: 'loadA,
'/a/:id/:secondId: 'loadA'
}
})我面临的问题是'/a/:id‘是向服务器发出请求,我不想在转到/a/:id/: subview时执行另一个请求,而是使用相同的页面/视图/模型,只更改一个子视图。
此外,我还想记录一下历史,当返回到以前的状态时,它似乎会触发“初始化”。
有什么想法吗?
发布于 2016-05-02 15:22:34
你必须自己管理国家。我就是这样做的
var Router = Backbone.Router.extend({
routes: {
'(/)': 'root',
'/a/:id: 'loadA,
'/a/:id/:secondId: 'loadA'
}
})
//root
function() {
loadRootOnce(function() {
//done, loads only once
})
}
//loadA
function() {
loadRootOnce(function() {
loadAOnce(function() {
});
})
}诸若此类。最佳实践也是使用承诺,并最终将其链锁起来。
就像$.when(bootstrap()).then(...)
https://stackoverflow.com/questions/36985845
复制相似问题