Wir haben ein Projekt, das Angular verwendet, aber nur für den UI-Bindungs-/AJAX-Aspekt, nicht für irgendeine Art von Routing- oder SPA-Funktionalität.Entfernen Sie das Hashchange-Ereignis von Angular oder verhindern Sie, dass Angular die Ankerlinks umschreibt
Wir wollen in der Lage sein, Anker-Links zu verwenden (#section-2
) in Artikeln, die wir innerhalb des CMS schreiben wir gewählt haben, sowie die Nutzung Anker Links von anderen Seiten (/my-page#section-C
), aber Angular umschreibt dieser #/section-2
, die das brechen Anker-Links, die der CMS einrichtet.
Es ist nicht möglich, den CMS zu erweitern, um zu ändern, wie Ankerverbindungen behandelt werden.
Ist es möglich, entweder:
das
hashchange
Ereignis entfernen aus Angular Bindung? Ich sehe, dass dieses Ereignis in der Quelldateisrc/ng/browser.js
angefügt ist, wo es einige der Routing-und Link Neuschreiben behandelt, aber es ist innerhalb einer Schließung, so dass nicht direkt zugegriffen werden kann (und wir sind Angular von einem CDN verknüpfen, so ist es nicht möglich, die Angular-Quelle zu modifizieren, und wir wollen nicht unsere eigene "benutzerdefinierte" Angular-Quelle beibehalten.Legen Sie eine Option fest oder rufen Sie eine Konfigurationsmethode auf, die letztendlich den gesamten Routing-Aspekt von Angular deaktiviert und verhindert, dass irgendwelche Links neu geschrieben werden? (Oder ist es eine Möglichkeit, nicht diesen Teil von Angular zu umfassen, aber immer noch den Controller/UI Bindung/AJAX-Funktionalität beibehalten?)
Bitte beachte, dass ich bereits versucht haben, dieses:
$locationProvider.html5Mode(true)
Es macht jedoch alle anderen Links auf der Website funktionsunfähig, da alle Links zur Verarbeitung durch Angular übergeben werden. Also wenn ich auf die Homepage verlinke (<a href="/">Home</a>
) und auf den Link mit klicke, macht der Link nichts.
Ich verwende Angular in ASP.NET-Projekt nur für UI-Bindung, keine Setup keine Routen und nicht ngRoute Modul verwenden. Alle Links funktionieren korrekt – Mikalai
@Mikalai Ich verwende kein Routing, noch verwende ich ngRoute. Alles, was ich getan habe, ist "angular.min.js" in meine Site aufzunehmen, und ich versuche, Anchor-Links zu verwenden, und Angluar schreibt sie neu. – qJake