Najnowsze tutoriale tworzenie stron internetowych
 

AngularJS moduły


Moduł angularjs definiuje aplikację.

Moduł jest kontenerem dla różnych częściach aplikacji.

Moduł jest pojemnik dla kontrolerów aplikacji.

Kontrolery zawsze należą do modułu.


Tworzenie modułu

Moduł jest tworzony przy użyciu funkcji angularjs angular.module

<div ng-app="myApp">...</div>

<script>

var app = angular.module("myApp", []);

</script>

Parametr "myApp" odnosi się do elementu HTML, w którym aplikacja będzie działać.

Teraz można dodać kontrolery, dyrektywy, filtry i inne, do aplikacji angularjs.


Dodawanie kontrolera

Dodaj kontroler do aplikacji, oraz zapoznać się z kontrolerem z ng-controller dyrektywy:

Przykład

<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>
Spróbuj sam "

Dowiesz się więcej o kontrolerach w dalszej części tego podręcznika.


Dodanie dyrektywę

Angularjs posiada zestaw wbudowanych dyrektyw, które można użyć, aby rozszerzyć funkcjonalność aplikacji.

Dla pełnego odniesienia, odwiedź nasze dyrektywa odnosi angularjs .

Dodatkowo można użyć modułu dodać własne wytyczne do aplikacji:

Przykład

<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>
Spróbuj sam "

Dowiesz się więcej na temat dyrektyw w dalszej części tego podręcznika.


Moduły i kontrolery w plikach

Jest to powszechne w aplikacji angularjs umieścić moduł i kontrolerów w plikach JavaScript.

W tym przykładzie "myApp.js" zawiera definicję modułu aplikacji, podczas gdy "myCtrl.js" zawiera kontroler:

Przykład

<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/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>
Spróbuj sam "

myApp.js

var app = angular.module( "myApp" , []);
Uwaga W [] parametrów w definicji modułu mogą być stosowane w celu określenia powiązanych modułów.
Uwaga Bez [] parametru, nie tworzysz nowy moduł, ale pobierając istniejący.

myCtrl.js

app.controller( "myCtrl" , function($scope) {
    $scope.firstName = "John";
    $scope.lastName= "Doe";
});

Funkcje mogą zanieczyszczać globalnej przestrzeni nazw

Funkcje globalne należy unikać w JavaScript. Można je łatwo zostać zastąpione lub zniszczone przez inne skrypty.

Angularjs moduły zmniejsza ten problem, przy zachowaniu wszystkich funkcji lokalnych do modułu.


Kiedy załadować biblioteki

Choć jest to powszechne w aplikacji HTML, aby umieścić skrypty na końcu <body> elementu, zaleca się, aby załadować bibliotekę angularjs albo w <head> lub na początku <body> .

To dlatego, że rozmowy do angular.module można sporządzić jedynie po biblioteka została załadowana.

Przykład

<!DOCTYPE html>
<html>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/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>
Spróbuj sam "