我的应用有3条路线(html5模式):
/app/home
/app/foo
/something-random
然后如果没有匹配则回退到/ app / home。这些定义如下:
$stateProvider
.state('app', {
url: '/app',
abstract: true,
templateUrl: 'frame.html',
controller: 'frame'
})
.state('app.home', {
url: '/home',
params: {
scrollTo: null
},
views: {
sectionHolder: {
templateUrl: 'home.html',
controller: 'home'
}
}
})
.state('app.foo', {
url: '/foo',
params: {
scrollTo: null
},
views: {
sectionHolder: {
templateUrl: 'foo.html'
controller: 'foo'
}
}
})
.state('extra', {
url: '/:slug',
templateUrl: 'extra.html',
controller: 'extra'
});
$urlRouterProvider.otherwise('/app/home');
结果如下:
mysite.com/app/home -> works
mysite.com/app/foo -> works
mysite.com/something-random -> works
mysite.com -> matches the extra route and does not fallsback to /app/home as intended.
' /用户/:ID' - 匹配' / user / bob'或者' / user / 1234 !!!'甚至' / user /' 但不是' / user'或' / user / bob / details'。第二个路径段将 被捕获为参数' id'。
但在我的情况下是匹配一个空的slu ..