gpt4 book ai didi

angularjs - 如何在 AngularJS ui-router 模块中指定默认状态

转载 作者:行者123 更新时间:2023-12-03 08:22:16 26 4
gpt4 key购买 nike

这就是我要实现的目标:当用户输入的 URL 与 $stateProvider 中配置的状态的任何 URL 模式都不匹配时,应该设置状态到默认状态,例如 'notFound'。进入此状态必须保持 URL 不变,以便用户有机会更正它。这就是我不使用 $urlRouterProvider.otherwise() 的原因。

目前我正在使用以下解决方法:在我的主 Controller 中我检查是否

$state.current.name == ''

如果是这种情况,我将设置 'notFound' 状态。

$state.go('notFound', {}, { location: false });

但是,这似乎有点像 hack,因为我假设有一种方法可以在 module.config() 中配置所有这些,但我不知道如何配置。对此有什么想法吗?

最佳答案

我自己找到了解决办法:URL中的参数可以使用正则表达式。因此,您可以将“包罗万象”状态定义为在 $stateProvider 中注册的最后一个状态,如下所示:

$stateProvider.state('notFound', {
url: '{path:.*}',
templateUrl: '/notFound.html'
});

如果没有其他 URL 模式匹配,将选择此状态并且可以通过 $stateParams.path 访问完整路径。

关于angularjs - 如何在 AngularJS ui-router 模块中指定默认状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21826461/

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