一尘不染

angularjs路由可以具有可选参数值吗?

angularjs

我可以设置带有可选参数的路由(相同的模板和控制器,但是如果某些参数不存在,则应将其忽略)?

因此,只编写一个规则,而不是编写以下两个规则?

module.config(['$routeProvider', function($routeProvider) {
    $routeProvider.
     when('/users/', {templateUrl: 'template.tpl.html', controller: myCtrl}).            
     when('/users/:userId', {templateUrl: 'template.tpl.html', controller: myCtrl})
}]);

这样的事情([此参数是可选的])

when('/users[/:userId]', {templateUrl: 'template.tpl.html', controller: myCtrl})
//note: this previous doesn't work

我在他们的文档中找不到任何内容。


阅读 250

收藏
2020-07-04

共1个答案

一尘不染

看来Angular现在已对此提供支持。

从最新的(v1.2.0)文档中$routeProvider.when(path, route)

path可以包含带问号(:name?)的可选命名组

2020-07-04