Angular js - 可选的动态url参数

时间:2014-04-22 07:36:44

标签: javascript angularjs url pagination routes

我已经设置了一个简单的分页网址:

.when('/users/:offset/:filter/:keywords',{
          templateUrl:'views/users/index.html',
          controller:'Users',
          reloadOnSearch:false
        }) 
.otherwise({
          redirectTo:'/'
        });

现在,如果我浏览site.co/users/5/1/heykeyword它可以正常工作

但如果我浏览site.co/users/5/1,我会被重定向到/

出了什么问题?

不应该路由帕拉姆斯是动态的!?!

1 个答案:

答案 0 :(得分:2)

问题在于你所写的内容包括一个必须参数,

您可以通过将“关键字”添加为可选项(通过添加问号)来实现:

.when('/users/:offset/:filter/:keywords?',{
          templateUrl:'views/users/index.html',
          controller:'Users',
          reloadOnSearch:false
        }) 
.otherwise({
          redirectTo:'/'
        });

抵消&过滤器是必需的,但现在关键字参数是可选的。

欲了解更多信息: https://docs.angularjs.org/api/ngRoute/provider/ $ routeProvider

来自angularjs文档:

  

路径可以包含带有问号的可选命名组:   e.g.:name?