Angular ui.router,创建可选的第一个路径参数

时间:2016-08-13 07:51:28

标签: angularjs angular-ui-router

使用Angular相对较新,但在使用ui.router的{/var1}/:var2时,我似乎无法找到任何网址别名或完全可选的路径参数(类似$stateProvider

我希望以下两个都是有效路径,理想情况是在相同的状态声明上,以便我可以使用一个或两个参数调用状态更改。

/var1/var2
/var2

当然,我可以使用如下匹配,但这些都不是真正的解决方案。

  • /:var1/:var2,但这仍然需要var1的空值(//var2
  • /:var2?var1/:var2/:var1?,但这些都不是 因为他们重新安排了这条道路,所以在理论上是理想的。
  • /:var1/:var2/:var2作为单独的状态,但我可能需要更密切地管理状态更改,并根据可用的参数进行选择。

任何指出我正确方向的信息都将非常感激。

快速剥离样本以供上下文使用。

$stateProvider .state('app.view', { url : '/:var1/:var2' }).state('app.view2', { url : '/:var2' });

1 个答案:

答案 0 :(得分:5)

也许这会起作用

.state('app.view', {
    url: '/:var1/:var2',
    templateUrl: 'yourTpl.html',
    controller: 'YourCtrl',
    params: {
        var1: {squash: true, value: null}
    }
})

squash配置当前参数值与默认值相同时,URL中如何表示默认参数值

相关问题