Angularを使用するプロジェクトがありますが、UIバインディング/ AJAXの場合のみ、ルーティングやSPAの機能はありません。Angularからhashchangeイベントを削除するか、Angularがアンカーリンクを書き換えないようにします。
は、我々は我々が選択したCMSの中に書くだけでなく、他のページ(/my-page#section-C
)から使用アンカーリンクの記事でアンカーリンク(#section-2
)を使用することができるようにしたいが、角度分解した、#/section-2
にこれらを書き換えCMSが設定するアンカーリンク。
アンカーリンクの処理方法を変更するためにCMSを拡張することはできません。
のいずれかにそれが可能です:
角内から結合
hashchange
イベントを削除しますか?このイベントは、ソースファイルsrc/ng/browser.js
に添付されていますが、ルーティングとリンクの書き換えの一部を処理しますが、クロージャの内部にあるため、直接アクセスすることはできません(また、CDNからAngularにリンクしていますAngularソースを変更することも可能ですが、独自の「カスタム」Angularソースを維持する必要もありません)。最終的にすべてのルーティングアスペクトを無効にするオプションを設定するか、または設定方法を呼び出すと、どのような種類のリンクも書き換えられません。 (あるいは、角度のこの部分を含めない方法があるが、それでも結合/ AJAX機能コントローラ/ UIを保持?)私は既にこの試みた
注
$locationProvider.html5Mode(true)
はしかし、すべてのリンクが処理のためにAngularを通過するため、サイト上の他のすべてのリンクが動作不能になります。だから私がホームページ(<a href="/">Home</a>
)にリンクしてhtml5mode
のリンクをクリックすると、リンクは何もしません。
私はセットアップ任意のルートを、単にUIを結合するためのASP.NETプロジェクトの角度をしていない使用していますとngRouteモジュールを使用しないでください。すべてのリンクが正しく動作します – Mikalai
@Mikalaiルーティングを使用していません。また、ngRouteを使用していません。私がやったことは、私のサイトに 'angular.min.js'を入れてアンカーリンクを使ってみることです。そして、Angluarはそれらを書き換えています。 – qJake