私の 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 を有効/無効にしようとしましたが、これには何の影響もありませんでした。)