angulaire.js - Que signifie le deuxième paramètre du contrôleur AngularJS?
滿天的星座2017-05-15 17:04:50
0
3
587
var app = angular.module('app',['ngPlugin']);
app.controller('frontTourism',['$scope','$http','stModal','$timeout','ngSubmit','alert',function(){/*省略*/}])
'$scope','$http','stModal','$timeout','ngSubmit','alert' À quoi servent-ils ?
Permettez-moi de vous expliquer en détail la signification de l'injection de dépendances.
Il existe généralement trois façons pour un objet de prendre le contrôle de ses dépendances : (1) Créer des dépendances en interne (2) Référencer via des variables globales ; (3) Transmettre des paramètres ; là où c'est nécessaire. L'injection de dépendances d'Angular est implémentée via la troisième voie. Les deux méthodes restantes poseront divers problèmes, tels que la pollution de l'environnement mondial et la rendre extrêmement difficile à isoler. D'un point de vue fonctionnel, l'injection de dépendances trouvera automatiquement les dépendances à l'avance et informera la cible d'injection des ressources dépendantes, afin que les ressources puissent être injectées immédiatement lorsque la cible en a besoin.
Angular a 3 méthodes d'injection : a. Injection inférentielle app.controller('MyCtrl', function($scope) { });
b. Injection annotée var myFunc=function($scope) { }); myFunc.$inject = ['$scope']; app.controller('MyCtrl ' ,myFunc);
c, injection en ligne app.controller('MyCtrl', ['$scope', function($scope) { }]);
La première méthode est basée sur le nom du paramètre écrit, tel que $scope, et appelle en interne $inject pour injecter $scope dans l'injection de dépendances. Si un outil de compression est utilisé dans le développement front-end, $scope sera remplacé par. une autre lettre. Il est impossible de déduire. Dans les deux autres manières, vous pouvez changer function($scope) en function(a). La deuxième méthode nécessite d'écrire une ligne de code supplémentaire ; 🎜>La troisième méthode est généralement recommandée.
Ce sont des objets utilisés pour l'injection. Ce n'est qu'en injectant ces objets qu'ils peuvent être utilisés dans les fonctions suivantes $Le transfert de la valeur de la page de portée est requis $La requête http http est requise
Permettez-moi de vous expliquer en détail la signification de l'injection de dépendances.
Angular a 3 méthodes d'injection :
a. Injection inférentielle
app.controller('MyCtrl', function($scope) {
});
b. Injection annotée
var myFunc=function($scope) {
});
myFunc.$inject = ['$scope'];
app.controller('MyCtrl ' ,myFunc);
c, injection en ligne
app.controller('MyCtrl', ['$scope', function($scope) {
}]);
La première méthode est basée sur le nom du paramètre écrit, tel que $scope, et appelle en interne $inject pour injecter $scope dans l'injection de dépendances. Si un outil de compression est utilisé dans le développement front-end, $scope sera remplacé par. une autre lettre. Il est impossible de déduire. Dans les deux autres manières, vous pouvez changer function($scope) en function(a).
La deuxième méthode nécessite d'écrire une ligne de code supplémentaire ; 🎜>La troisième méthode est généralement recommandée.
Ce sont des objets utilisés pour l'injection. Ce n'est qu'en injectant ces objets qu'ils peuvent être utilisés dans les fonctions suivantes
$Le transfert de la valeur de la page de portée est requis
$La requête http http est requise
. . .
Injection de modules, introduisez les autres modules que vous devez utiliser.
Par exemple, $http est un module