嵌套路由 Backbone
Nested Routes Backbone
我正在尝试使用 Backbonejs 实现嵌套路由,如下所示:
var Router = Backbone.Router.extend({
routes: {
'(/)': 'root',
'/a/:id: 'loadA,
'/a/:id/:secondId: 'loadA'
}
})
我面临的问题是“/a/:id”正在向服务器发出请求,我不想在转到 /a/:id/:secondId 时执行另一个请求,而是使用相同的请求page/view/model 并且只更改一个子视图。
此外,我想跟踪历史记录,似乎在返回到先前状态时触发 "initialize"。
有什么想法吗?
你必须自己管理状态。我是这样做的
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() {
});
})
}
等等。
最佳实践也是使用 Promises 并最终将它们链接起来
喜欢$.when(bootstrap()).then(...)
我正在尝试使用 Backbonejs 实现嵌套路由,如下所示:
var Router = Backbone.Router.extend({
routes: {
'(/)': 'root',
'/a/:id: 'loadA,
'/a/:id/:secondId: 'loadA'
}
})
我面临的问题是“/a/:id”正在向服务器发出请求,我不想在转到 /a/:id/:secondId 时执行另一个请求,而是使用相同的请求page/view/model 并且只更改一个子视图。
此外,我想跟踪历史记录,似乎在返回到先前状态时触发 "initialize"。
有什么想法吗?
你必须自己管理状态。我是这样做的
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() {
});
})
}
等等。 最佳实践也是使用 Promises 并最终将它们链接起来
喜欢$.when(bootstrap()).then(...)