Ich habe eine Javascript-Bibliothek mit einer Reihe von nützlichen Funktionen, die ich über meine Website nutzen, die verschiedene Dinge tut.Aufruf Javascript-Funktion außerhalb des Bereichs auf NG-Klick
Ich weiß, dass ich nicht auf diese Funktionen von einem ng-Klick zugreifen kann, weil die Funktionen außerhalb des Geltungsbereichs sind.
Gibt es eine Möglichkeit, auf sie zuzugreifen, ohne eine Bereichsfunktion deklarieren zu müssen, die die Funktion in der Bibliothek aufruft?
Here ist ein Kinderspiel mit einem Beispiel. Ich würde gerne wissen, ob es einen Weg gibt, den zweiten Link zum Laufen zu bringen. Das ist einfach, weil ich nicht die Idee mag, eine Funktion zu definieren, die einfach eine andere Funktion aufrufen wird. z.B.
HTML:
<div ng-click="doSomething()">Click Me (Working)</div>
<div ng-click="doSomethingElse()">Click Me (Not Working)</div>
-Controller JS:
$scope.doSomething = function() {
doSomethingElse();
};
Externe Bibliothek JS:
function doSomethingElse() {
alert("SomethingElse");
}
< ------- ------ UPDATE ->
Danke für die kreativen Antworten Jungs! Vinay K's 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 und das würde es einfacher und sauberer in meinem HTML zu implementieren. manchmal auch, weil ich mehr als eine Funktion aus der Bibliothek verwenden und dann an die Kette sie in der Onclick haben würde:
onlick="func1(); func2(); func3();"
Wo eine Richtlinie nur sauberer und ich kann so viele Funktionen aufrufen, wie Ich mag, während andere Sachen zu tun auch.
Nein, können Sie nicht Nicht- $ anrufen Scope Funktionen aus der Sicht, können Sie '$ scope.doSomething = doSomethingElse;' – tymeJV