


Explication détaillée de l'injection de dépendances dans Angularjs_AngularJS
May 16, 2016 pm 03:11 PMIl existe généralement trois façons pour un objet de prendre le contrôle de ses dépendances :
- Créer des dépendances en interne
- Référencé via des variables globales
- Transmettez les paramètres si nécessaire
L'injection de dépendances est implémentée via la troisième voie. Par exemple :
function SomeClass(greeter) { this.greeter = greeter; } SomeClass.prototype.greetName = function(name) { this.greeter.greet(name); };
SomeClass peut accéder au greeter interne au moment de l'exécution, mais il ne se soucie pas de la façon d'obtenir une référence au greeter.
Afin d'obtenir une référence à l'instance greeter, le créateur de SomeClass est chargé de construire ses dépendances et de les transmettre.
Pour les raisons ci-dessus, AngularJS utilise $injetor (service d'injection) pour gérer les requêtes de dépendance et l'instanciation.
En fait, $injetor est responsable de l'instanciation de tous les composants dans AngularJS, y compris les modules d'application, les directives et les contrôleurs.
Par exemple, le code suivant. Il s'agit d'une application simple qui déclare un module et un contrôleur :
angular.module('myApp', []) .factory('greeter', function() { return { greet: function(msg) {alert(msg);} } }) .controller('MyController', function($scope, greeter) { $scope.sayHello = function() { greeter.greet("Hello!"); }; });
Lorsque AngularJS instancie ce module, il recherchera greeter et lui transmettra naturellement une référence :
<div ng-app="myApp"> <div ng-controller="MyController"> <button ng-click="sayHello()">Hello</button> </div> </div>
En interne, le processus de traitement d'AngularJS est le suivant :
// 使用注入器加载应用 var injector = angular.injector(['ng', 'myApp']); // 通过注入器加载$controller服务:var $controller = injector.get('$controller'); var scope = injector.get('$rootScope').$new(); // 加载控制器并传入一个作用域,同AngularJS在运行时做的一样 var MyController = $controller('MyController', {$scope: scope})
Ce qui précède représente l'intégralité du contenu de cet article. J'espère que cet article sera utile à tous ceux qui apprennent l'injection de dépendances Angularjs.

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment utiliser JS et Baidu Maps pour implémenter la fonction Map Pan

Outils essentiels pour l'analyse boursière : découvrez les étapes pour dessiner des graphiques en bougies avec PHP et JS

Recommandé : Excellent projet de détection et de reconnaissance des visages open source JS

Conseils de développement PHP et JS : maîtrisez la méthode de création de graphiques en bougies boursières

Comment créer un graphique en chandeliers boursiers en utilisant PHP et JS

Comment utiliser JS et Baidu Maps pour implémenter la fonction de dessin de polygones de carte

Comment utiliser JS et Baidu Map pour implémenter la fonction de traitement des événements de clic sur la carte

Comment utiliser JS et Baidu Maps pour implémenter la fonction de carte thermique de carte
