有条件的“;否则“;Angular中的布线
Conditional "otherwise" routing in Angular
我熟悉angular中的"$urlRouterProvider.otherwise('{route here}')"
语法,可以在angular UI Router中用作catch-all。
我想知道的是,当路由输入错误时,有没有一种方法可以根据父状态进行有条件的"其他"路由?
例如,假设我有以下配置:
$stateProvider
.state('core', {configuration here})
.state('core.page1', {configuration here...})
.state('dashboard', {configuration here})
.state('dashboard.page1', {configuration here})
$urlRouterProvider.otherwise('/core/page1');
我希望在任何时候输入具有"/core/{route here}"
的路线,
如果它与任何当前状态都不匹配,则路由回'/core/page1',
并且只要输入了具有与任何当前状态都不匹配的"/dashboard/{route here}"
的路由,就可以路由回"/dashboard/page1"
。
有人有做这件事的经验,或者知道我该怎么做?Angular中是否内置了允许这种行为的内容?
提前感谢!
如所示
使用ui路由器显示404错误页面时如何不更改url
.otherwise()
不必是字符串(url)。。。它可能是一个聪明的决策者:
$urlRouterProvider.otherwise(function($injector, $location){
var state = $injector.get('$state');
if(....)
state.go('core');
else(...)
state.go('dashboard');
...
return $location.path();
});
文件:
$urlRouterProvider.否则(规则)
定义在请求无效路由时使用的路径。
string-要重定向到的url路径或返回url路径的函数规则
函数版本传递了两个参数:$injector和$location服务,并且必须返回一个url字符串。
相关文章:
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 在Angular 2中布线期间保持零部件处于活动状态
- 回复'js'仅当请求有错误时(否则使用html)
- Angular Js布线工作不正常
- 否则,如果 JavaScript
- 浏览器跳过“;如果“"否则如果“;,直接转到“;否则”;陈述
- Angular JS和Node路由/布线-仅在页面刷新后显示数据
- Javascript一行,否则速记混淆
- 从分析类传递现有对象,否则创建一个新对象
- iframe赢得'除非重新打开,否则不要滚动
- HTML5画布线宽错误
- 除非填写必需的html表单,否则禁用对驱动器和桌面的访问
- 高级布线和单个对象定义
- 否则用于具有类型化参数的状态
- jquery onclick if..否则如果..否则无法正常工作
- 如果选择了Dropdown,则推入一个数组,否则,推入另一个数组
- 这'否则如果'这种情况不起作用
- 未注释img´除非调整浏览器大小、缩放或打开开发工具,否则不会显示
- 等效于Angular 1,否则在Angular 2中布线
- 有条件的“;否则“;Angular中的布线