2

私のテンプレートでは、相対ルートを使用したいと考えています。現在、アンカーに絶対パスがありますがhref、これは最適ではありません

<a href="/#/dashboard/settings">Settings</a>

これを相対ナビゲーションに書き換えるにはどうすればよいですか (これは に対してdashboard)?

hashbang および html5 history api ルートで動作するはずです (AngularJS が使用するかフォールバックするかは問わない)。

4

4 に答える 4

3

コントローラー内で、 を見て、操作元のベースURL を$routeParams作成できます。

そこから、テンプレートに対して操作できます"{{baseUrl}}/relative/to/scope/baseUrl"

また、コード内に構築された URL は次の場所に移動できます$scope.baseUrl + /relative/to/scope/baseUrl";

これは正確には「相対」ではありませんが、階層をハードコーディングしたり、変数などである routeparams を心配したりすることなく、他の URL を洗練する URL を許可するという問題を解決します。

于 2013-05-03T23:50:34.780 に答える
2

相対ナビゲーションを使用するように書き直すことはできないと思います。にリンクしたい/user/profileが、ユーザーが に接続している場合、どのように相対的に機能しますか/dashboard/settings。メイン ナビゲーションが単にprofile(相対) にリンクしている場合は、 に移動しますが/dashboard/profile、これはあなたが望んでいるものではないと思います。

アプリケーションで相対パスが重要なのはなぜですか? キーストロークを節約する以上のことはありますか?

于 2013-05-03T23:37:49.137 に答える
1

古い質問ですが、これが機能することがわかりました:

$locationProvider.html5Mode({
    enabled: true,
    requireBase: false,
    rewriteLinks: false
});
于 2015-07-15T18:58:03.950 に答える