我想制作一个有强制参数的路线.如果没有,它应该落入
$urlRouterProvider.otherwise("/home");
目前的路线:
function router($stateProvider) {
$stateProvider.state("settings", {
url: "^/settings/{id:int}",
views: {
main: {
controller: "SettingsController",
templateUrl: "settings.html"
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
目前以下两条路线均有效:
有任何想法吗?
使用状态更改启动侦听器检查参数是否已传递:
$rootScope.$on('$stateChangeStart',
function (event, toState, toParams, fromState, fromParams) {
if(toState.name==="settings")
{
event.preventDefault(); //stop state change
if (toParams.id===undefined)
$state.go("home");
else
$state.go(toState, toParams);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3766 次 |
| 最近记录: |