ui.router:如何从 URL 中省略默认参数

2024-02-28

我定义了以下状态$stateProvider https://github.com/angular-ui/ui-router#angularui-router-:

$stateProvider.state("byTeams", {url : "/team/{id}/{year}", ...})
$stateProvider.state("byPlayer", {url : "/player/{id}/{year}", ...})

更改年份时,我希望 URL 省略{year}URL 的一部分(如果它与默认值(例如 2014)匹配)。换句话说,当:

$state.go("byTeams", {year: 2014}) --> www.example.com/app/#/team/343
$state.go("byTeams", {year: 2013}) --> www.example.com/app/#/team/343/2013

当我切换到byPlayer视图(假设年份是 2014 年 - 默认):

$state.go("byPlayer", {id: 555}) --> www.example.com/app/#/player/555/

否则,URL 将为:www.example.com/app/#/player/555/2013


阅读docs http://angular-ui.github.io/ui-router/site/#/api/ui.router.state.%24stateProvider for params and squash in $stateProvider.state() http://angular-ui.github.io/ui-router/site/#/api/ui.router.state.%24stateProvider

$stateProvider.state("byPlayer", {
  url : "/player/{id}/{year}", 
  params: { 
    year: { 
      value: function() { return getCurrentYear(); },
      squash: true
    }
  }
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ui.router:如何从 URL 中省略默认参数 的相关文章

随机推荐