【发布时间】:2015-01-25 15:41:08
【问题描述】:
我请求添加另一个指向我已经设置的状态的 URL 参数。出于效率目的,我正在尝试查看是否可以添加多个 URL 以指向同一状态,或者在这种新情况下我是否应该使用 $UrlRouterProvider.when() 方法重定向到该状态。
例如。这是已经存在的
.state('site.link1',
{
url: '/link1',
templateUrl: '/views/link1.html',
controller: 'link1Ctrl'
})
并且请求是添加指向link1页面的www.site.com/newlink。有没有这样的东西;
.state('site.link1',
{
url: '/link1, /newlink',
...
【问题讨论】:
-
目前您必须多次使用 .when 或定义状态,使用不同的 url...有一些方法:stackoverflow.com/a/23853129/1679310
-
如果唯一的改变是 stateParams,你可以用相同的路线逃脱,只是传递空参数,唯一不那么优雅的是你会有一个“//”在你的网址。如果规范定义了一个完全不同的 url,那么需要一个新的状态
-
如果同一状态下的 2 个不同的参数值重定向到这些不同的 ursl,那么您可以使用 templateurl 作为函数,您可以将第一个参数作为 routeparam 并相应地返回 url。但目前还不清楚您到底想做什么。