angularjs – ui-router可选参数,不带斜杠

前端之家收集整理的这篇文章主要介绍了angularjs – ui-router可选参数,不带斜杠前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以这似乎是一个常见的问题,但我没有找到任何明确的答案。
基本上我有一个状态:
.state('users',{
     url: '/example/:id',templateUrl: 'angular-views/example.html',controller: 'ExampleCtrl'
    })

我想要id是可选的。

确定它匹配

example/
example/1234

但它不符合没有尾部斜线。

example

我试过$ urlMatcherFactoryProvider.strictMode(false);但这似乎不适用于这种情况。我可以使用示例?param = 1234,但我更喜欢更清洁的版本。

我真的需要定义一个第二个状态来工作吗?

您可以通过在params对象中给它们一个默认值来定义可选的URL参数,像这样。如果没有定义,壁球将隐藏链接中的参数。
.state('users',{
         url: '/example/:id',controller: 'ExampleCtrl',params:  {
              id: {
                     value: null,squash: true
                  }
                }
        });

我在本地尝试过,似乎可以正常工作,不管尾部斜线。

原文链接:https://www.f2er.com/angularjs/144192.html

猜你在找的Angularjs相关文章