AngularJS-Module
Ein AngularJS-Modul definiert eine Anwendung.
Das Modul ist ein Container für die verschiedenen Teile einer Anwendung.
Das Modul ist ein Container für die Anwendungscontroller.
Controller gehören immer zu einem Modul.
Erstellen eines Moduls
Ein Modul wird mithilfe der AngularJS-Funktion erstellt angular.module
<div ng-app="myApp">...</div>
<script>
var app = angular.module("myApp", []);
</script>
Der Parameter "myApp" bezieht sich auf ein HTML-Element, in dem die Anwendung ausgeführt wird.
Jetzt können Sie Ihrer AngularJS-Anwendung Controller, Direktiven, Filter und mehr hinzufügen.
Controller hinzufügen
Fügen Sie Ihrer Anwendung einen Controller hinzu und verweisen Sie mit der
ng-controller
Anweisung auf den Controller:
Beispiel
<div ng-app="myApp" ng-controller="myCtrl">
{{ firstName + " " + lastName }}
</div>
<script>
var
app
= angular.module("myApp",
[]);
app.controller("myCtrl", function($scope) {
$scope.firstName
= "John";
$scope.lastName
= "Doe";
});
</script>
Später in diesem Tutorial erfahren Sie mehr über Controller.
Direktive hinzufügen
AngularJS verfügt über eine Reihe integrierter Anweisungen, mit denen Sie Ihrer Anwendung Funktionen hinzufügen können.
Eine vollständige Referenz finden Sie in unserer AngularJS-Richtlinienreferenz .
Darüber hinaus können Sie das Modul verwenden, um Ihre Anwendungen um eigene Anweisungen zu ergänzen:
Beispiel
<div ng-app="myApp" w3-test-directive></div>
<script>
var app =
angular.module("myApp", []);
app.directive("w3TestDirective",
function() {
return {
template : "I was made in a directive constructor!"
};
});
</script>
Später in diesem Tutorial erfahren Sie mehr über Direktiven.
Module und Controller in Dateien
In AngularJS-Anwendungen ist es üblich, das Modul und die Controller in JavaScript-Dateien abzulegen.
In diesem Beispiel enthält „myApp.js“ eine Anwendungsmoduldefinition, während „myCtrl.js“ den Controller enthält:
Beispiel
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>
<div ng-app="myApp"
ng-controller="myCtrl">
{{ firstName + " " + lastName }}
</div>
<script src="myApp.js"></script>
<script src="myCtrl.js"></script>
</body>
</html>
myApp.js
var app = angular.module("myApp", []);
Der Parameter [] in der Moduldefinition kann verwendet werden, um abhängige Module zu definieren.
Ohne den Parameter [] erstellen Sie kein neues Modul, sondern rufen ein vorhandenes ab.
myCtrl.js
app.controller("myCtrl", function($scope) {
$scope.firstName = "John";
$scope.lastName= "Doe";
});
Funktionen können den globalen Namensraum verschmutzen
Globale Funktionen sollten in JavaScript vermieden werden. Sie können leicht von anderen Skripten überschrieben oder zerstört werden.
AngularJS-Module reduzieren dieses Problem, indem sie alle Funktionen lokal im Modul halten.
Wann die Bibliothek geladen werden soll
Während es in HTML-Anwendungen üblich ist, Skripte am Ende des
<body>
Elements zu platzieren, wird empfohlen, dass Sie die AngularJS-Bibliothek entweder in der <head>
oder am Anfang der <body>
.
Dies liegt daran, dass Aufrufe von angular.module
erst kompiliert werden können, nachdem die Bibliothek geladen wurde.
Beispiel
<!DOCTYPE html>
<html>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<div ng-app="myApp"
ng-controller="myCtrl">
{{ firstName + " " + lastName }}
</div>
<script>
var app = angular.module("myApp",
[]);
app.controller("myCtrl", function($scope) {
$scope.firstName
= "John";
$scope.lastName
= "Doe";
});
</script>
</body>
</html>