0

Ich arbeite an Angularjs Projekt, das ich mit Yeoman Winkelgenerator generiert.Jquery Skripte in angularjs Projekt

Ich habe eine jQuery-Funktion, die ich in den meisten meiner HTML-Ansichten verwenden muss. Eine mögliche Lösung besteht darin, diese Funktion beispielsweise einer script.js-Datei hinzuzufügen und diese Datei als Referenz in den HTML-Ansichten hinzuzufügen, für die diese Funktion erforderlich ist. Ich denke jedoch nicht, dass diese Lösung gut ist.

Wenn Yeoman erzeugt ein AngularJS Projekt, in seiner Datei index.html, fügt es einen Abschnitt

<!-- build:js({.tmp,app}) scripts/scripts.js --> 

in diesem Abschnitt werden die verschiedenen Skriptdateien hinzugefügt, da, wie ich glaube, auf zu bauen, diese Dateien werden in einer einzigen scripts/scripts.js-Datei vereint werden.

Ich habe versucht, das gleiche durch Hinzufügen der Funktion zu einer Skriptdatei zu tun, und fügte den Verweis der Skriptdatei zu diesem Abschnitt hinzu. Das Problem ist, dass die Funktion nicht funktioniert, wenn ich versuche, sie von einer beliebigen Ansicht aus aufzurufen.

Was kann ich tun, um es zu lösen?

Antwort

0

DOM-Manipulation wird mit Richtlinien in AngularJS getan Sie benötigen die Dokumentation zu überprüfen: https://docs.angularjs.org/guide/directive

Wenn Sie nicht die DOM-Manipulation können Sie einen Dienst erstellen, die in jede Steuerung injiziert werden kann. Servicedokumentation: https://docs.angularjs.org/guide/services

von dort können Sie dem Bereich, auf den in der Ansicht zugegriffen werden kann, eine Funktion in der Steuerung zuweisen. z.B.

$scope.MyFunction = function(){ 
    // Code goes here 
} 

können Sie die Funktion in den HTML-Code aufrufen als

<div ng-click="MyFunction()"></div> 
+0

Liebe, scheint man die Frage nicht verstanden. Du erzählst mir von angularjs Grundlagen, die ich bereits kenne. Ich frage nach einer ausgeklügelten Sache in Bezug auf Skript-Tags, die jQuery-Funktionen und nicht angularjs-Inhalt enthalten. – EddyG

+0

jquery Funktionen funktionieren nicht so mit eckigen aus meiner Erfahrung. Sie müssen eine Richtlinie oder einen Dienst verwenden. – joegod86

+0

asin den Skripten sind nicht als Teil des angularen Moduls registriert – joegod86

Verwandte Themen