我的ui-router状态提供程序设置如下:
.state(
'events', {
url: '/events',
templateUrl: ...,
controller: ...
})
.state(
'events.listEvents', {
url: '/list',
templateUrl: ...,
controller: ...
})
.state(
'events.eventDetails', {
url: '/details',
templateUrl: ...,
controller: ...
})
我开始于events.listEvents
状态,因此我的URL看起来像这样:
https://baseUrl.com/home#/events/list
我在页面上放了一个链接,类似这样:
<a ui-sref="events.eventDetails">event details</a>
当我正常点击链接时,它能够正确地运作并将我引导到一个具有以下URL的页面:
https://baseUrl.com/home#/events/details
但是,当我尝试在新标签页中打开相同的链接(或右键单击并复制“href”链接地址)时,它是不正确的:
https://baseUrl.com/events/details
所以问题是:为什么ui-sref填写了错误的href值?它为什么在生成的URL中完全省略#哈希符号?(是的,我已经尝试启用/禁用$locationProvider.html5mode,但对此没有任何影响。)