html5Modeにおいて、通常のリンクとルーティングのリンクを混ぜこぜにして書く方法
前提
やりたかったこと
こんなことがしたかったのです。
<a href="/myapp/entry">Go Entry!</a><!-- ← これはルーティングしたい -->
<a href="/about">About Us</a><!-- ←これは普通のリンクになって欲しい -->
[Go Entry!]をクリックしたときは、ルーティングに従って画面を描画し、[About US]をクリックしたときは、普通にページをロードして欲しかったのです。
しかしhtml5Modeを有効にしリンクを書き換えるようにしてしまうと、[About US]もルーティングしようとしてなんも動きません。
環境
AngularJS 1.3です。
解決策
stackoverflowにありました。
ところを、あえてまとめなおします。
方法1
通常リンクのaタグにtarget属性をつける。
<a href="/about" target="_self">About Us</a>
方法2
異なるドメインへのリンクなら書き換えられない。
(今回は使えないですね)
方法3
baseタグを入れて、そのbase内だけのリンクを書き換えさせるようにする。
<base href="/myapp/">
コレだ!