私のテンプレートでは、相対ルートを使用したいと考えています。現在、アンカーに絶対パスがありますがhref
、これは最適ではありません
<a href="/#/dashboard/settings">Settings</a>
これを相対ナビゲーションに書き換えるにはどうすればよいですか (これは に対してdashboard
)?
hashbang および html5 history api ルートで動作するはずです (AngularJS が使用するかフォールバックするかは問わない)。
私のテンプレートでは、相対ルートを使用したいと考えています。現在、アンカーに絶対パスがありますがhref
、これは最適ではありません
<a href="/#/dashboard/settings">Settings</a>
これを相対ナビゲーションに書き換えるにはどうすればよいですか (これは に対してdashboard
)?
hashbang および html5 history api ルートで動作するはずです (AngularJS が使用するかフォールバックするかは問わない)。
コントローラー内で、 を見て、操作元のベースURL を$routeParams
作成できます。
そこから、テンプレートに対して操作できます"{{baseUrl}}/relative/to/scope/baseUrl"
また、コード内に構築された URL は次の場所に移動できます$scope.baseUrl + /relative/to/scope/baseUrl";
これは正確には「相対」ではありませんが、階層をハードコーディングしたり、変数などである routeparams を心配したりすることなく、他の URL を洗練する URL を許可するという問題を解決します。
相対ナビゲーションを使用するように書き直すことはできないと思います。にリンクしたい/user/profile
が、ユーザーが に接続している場合、どのように相対的に機能しますか/dashboard/settings
。メイン ナビゲーションが単にprofile
(相対) にリンクしている場合は、 に移動しますが/dashboard/profile
、これはあなたが望んでいるものではないと思います。
アプリケーションで相対パスが重要なのはなぜですか? キーストロークを節約する以上のことはありますか?
古い質問ですが、これが機能することがわかりました:
$locationProvider.html5Mode({
enabled: true,
requireBase: false,
rewriteLinks: false
});