Ich habe eine Javascript-Bibliothek mit einer Reihe nützlicher Funktionen, die ich auf meiner Website nutze, die verschiedene Dinge tun.
Ich weiß, dass ich von einem ng-Klick aus nicht auf diese Funktionen zugreifen kann, weil die Funktionen außerhalb des Bereichs liegen.
Gibt es eine Möglichkeit, auf sie zuzugreifen, ohne eine Bereichsfunktion deklarieren zu müssen, die nur einen Aufruf an die Funktion in der Bibliothek macht?
Hier ist ein Spiel mit einem Beispiel. Ich würde gerne wissen, ob es einen Weg gibt, den zweiten Link zum Laufen zu bringen. Das liegt einfach daran, dass mir die Idee, eine Funktion zu definieren, die einfach eine andere Funktion aufruft, nicht gefällt. z.B.
HTML:
%Vor%Controller JS:
%Vor%Externe Bibliothek JS:
%Vor%& lt; ------- UPDATE ------- & gt;
Danke für die kreativen Antworten Jungs! Vinay Ks Antwort ist die einfachste und offensichtlichste, aber ich entschied mich für Ron E's Antwort. Der Grund ist, dass ich bereits ein globales Modul mit einer Sammlung von wiederverwendbaren Direktiven habe, das es einfacher und sauberer in meinem HTML implementieren würde. Auch weil ich manchmal mehr als eine Funktion aus der Bibliothek verwende und sie dann im onclick ketten müsste:
%Vor%Wo eine Direktive nur sauberer ist und ich so viele Funktionen aufrufen kann wie ich möchte, während ich auch andere Sachen mache.
Hi Wenn Sie Javascript Funktion definiert haben, können Sie alte js Funktionen und Angular js zusammen verwenden
Beispiel:
%Vor%Danke fürs Lesen
Wenn Ihre Bibliothek global verfügbar ist (z. B. für das Fensterobjekt), könnten Sie eine Methode in Ihrem rootScope schreiben, die den Funktionsnamen als Parameter akzeptiert. Garantiert dies ist nicht die orthodoxe Art, Dinge in Angular zu tun, aber es wird die Notwendigkeit beseitigen, all diese zusätzlichen Methoden in all Ihren Bereichen hinzuzufügen. Hier ist ein grobes Beispiel:
In Ihrer app.run-Methode könnten Sie etwas hinzufügen:
%Vor%Dann könnten Sie aus Ihrer Sicht so etwas tun:
%Vor%Sie könnten sogar noch schicker werden und eine beliebige Anzahl von Parametern an Ihre Funktion übergeben, ebenso wie den Funktionsnamen Punkte für Methoden enthalten, die in anderen Objekten verschachtelt sind, und diese aufteilen. Dies sollte dir zumindest den Einstieg erleichtern.
Tags und Links javascript angularjs