Derniers tutoriels de développement web
 

AngularJS Contrôleurs


AngularJS contrôleurs contrôlent les données des applications AngularJS.

AngularJS contrôleurs sont régulièrement objets JavaScript.


AngularJS Contrôleurs

AngularJS applications sont contrôlées par les contrôleurs.

La directive ng-contrôleur définit le contrôleur d'application.

Un contrôleur est un objet JavaScript, créé par un constructeur standard objet JavaScript.

AngularJS Exemple

<div ng-app="myApp" ng-controller="myCtrl">

First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{firstName + " " + lastName}}

</div>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
});
</script>
Essayez - le vous - même »

Demande a expliqué:

L'application AngularJS est définie par ng-app = "myApp". L'application fonctionne à l'intérieur du <div>.

Le ng-controller = attribut "myCtrl" est une directive AngularJS. Elle définit un contrôleur.

La fonction myCtrl est une fonction JavaScript.

AngularJS invoqueront le contrôleur avec un objet $ portée.

Dans AngularJS, $ champ d'application est l'objet d'application (le propriétaire des variables d'application et fonctions).

Le contrôleur crée deux propriétés (variables) dans le champ d' application (firstName et lastName).

Les directives ng-modèle se lient les champs d'entrée aux propriétés du contrôleur (nom et prénom).


Méthodes de contrôleur

L'exemple ci-dessus a montré un objet de contrôleur avec deux propriétés: lastName et firstName.

Un contrôleur peut aussi avoir des méthodes (variables comme fonctions):

AngularJS Exemple

<div ng-app="myApp" ng-controller="personCtrl">

First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{fullName()}}

</div>

<script>
var app = angular.module('myApp', []);
app.controller('personCtrl', function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
    $scope.fullName = function() {
        return $scope.firstName + " " + $scope.lastName;
    };
});
</script>
Essayez - le vous - même »

Contrôleurs dans des fichiers externes

Dans les grandes applications, il est fréquent de contrôleurs de magasin dans des fichiers externes.

Il suffit de copier le code entre les balises <script> dans un fichier externe nommé personController.js :

AngularJS Exemple

<div ng-app="myApp" ng-controller="personCtrl">

First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{firstName + " " + lastName}}

</div>

<script src="personController.js"></script>
Essayez - le vous - même »

Un autre exemple

Pour l'exemple suivant, nous allons créer un nouveau fichier de contrôleur:

angular.module('myApp', []).controller('namesCtrl', function($scope) {
    $scope.names = [
        {name:'Jani',country:'Norway'},
        {name:'Hege',country:'Sweden'},
        {name:'Kai',country:'Denmark'}
    ];
});

Enregistrez le fichier sous namesController.js :

Et puis utiliser le fichier du contrôleur dans une application:

AngularJS Exemple

<div ng-app="myApp" ng-controller="namesCtrl">

<ul>
  <li ng-repeat="x in names">
    {{ x.name + ', ' + x.country }}
  </li>
</ul>

</div>

<script src="namesController.js"></script>
Essayez - le vous - même »