gpt4 book ai didi

angular-ui-router - 如何设置强制路由参数

转载 作者:行者123 更新时间:2023-12-03 18:03:37 24 4
gpt4 key购买 nike

我想创建一个带有强制参数的路由。如果不是,它应该属于
$urlRouterProvider.otherwise("/home");
当前路线:

function router($stateProvider) {
$stateProvider.state("settings", {
url: "^/settings/{id:int}",
views: {
main: {
controller: "SettingsController",
templateUrl: "settings.html"
}
}
});
}

目前以下两条路线均有效:
  • http://myapp/settings//应该是无效路由
  • http://myapp/settings/123

  • 有任何想法吗?

    最佳答案

    使用 state change start listener检查参数是否通过:

      $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);

    }
    });

    关于angular-ui-router - 如何设置强制路由参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29041681/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com