我设置了一个backbone.js路由器,其中的一些路由如下:
routes : {
'a-route' : 'goToRoute',
'a-route/*splat' : 'goToRoute'
}
goToRoute : function(splat){
if(!splat) {
// do this
} else {
// do that with splat
}当我做一个
router.navigate('a-route', {trigger : true});一切都运行得很好。但当我这么做的时候
router.navigate('a-route/more', {trigger : true});路由器触发了两次:第一次splat等于'undefined',第二次splat等于'more‘。
如果我注释掉路由'a- route‘:'goToRoute',那么对于router.navigate('a-route/more'),一切都会正常工作……但我需要两条路线-有没有splat。
根据文档,我想我的设置是正确的,有什么想法吗?
发布于 2012-07-03 21:37:50
您不需要使用*,在您的情况下必须使用:。
routes : {
'a-route' : 'goToRoute',
'a-route/:splat' : 'goToRoute'
}https://stackoverflow.com/questions/11306927
复制相似问题