Инъекция зависимости - это шаблон проектирования программного обеспечения, приведенный в компоненте, который заменяет кодирование их зависимостей в жестком компоненте. Это уменьшает компонент от позиционирования зависимостей, конфигурации зависимости. Это помогает сделать компоненты многократному, поддерживаться и протестировать.
AngularJS обеспечивает высший механизм инъекции зависимости. Он обеспечивает инъекционную ядро компонент, который зависит друг от друга.
ценить
фабрика
Служить
Поставщик
Всегда
ценить
Значения - это простые объекты Javascript, которые используются для передачи значений во время контроллеров фазы конфигурации.
// Определите модулевар mainApp = angular.module («mainApp», []); // Создать объект значения как «defaultInput» и передавать его data.mainapp.value («defaultInput», 5); ... // Внедрение значения в контроллере с использованием его названия «defaultInput». {$ scope.number = defaultinput;фабрика
Фабрика используется для возврата значения функции. Это создает ценность в соответствии с спросом, когда это нуждается в службе или контроллеру. Обычно он использует заводскую функцию для расчета и возврата соответствующего значения
// Определите модулевар mainApp = angular.module ("mainApp", []); // Создать заводскую "MathService", который предоставляет метод, чтобы вернуть умножение двух чисел mainApp.factory ('mathService', function () {var factory = {}; factory.multyply = function (a, b) {return a ate wart -wartory; // Внедряйте заводскую «MathService» в службу, чтобы использовать метод умножения Factory.mainapp.service ('Calcservice', function (mathservice) {this.square = function (a) {return mathservice.multiply (a, a);}});Служить
Сервис - это единственный JavaScript, который содержит набор функциональных объектов для выполнения определенных задач. Служба использует функцию Service () и вводит в определение контроллера.
// Определите модулевар mainApp = angular.module ("mainApp", []); ... // Создать услугу, которая определяет квадрат метода для возврата квадрата num.mainapp.service ('calcservice', function (mathservice) {this.square = function (a) {return mathservice.multiply (a, a); ControlermainApp.controller ('CalcController', функция ($ acpope, calcService, defaultInput) {$ scope.number = defaultInput; $ scope.result = calcservice.square ($ scope.number); $ scope.square = function () {$ scope.result = calcservice.sspope ($) scope) scope.Поставщик
Поставщик использует сервис, завод и т. Д. На этапе конфигурации Внутреннего процесса создания AngularJS (как во время сама загрузки AngularJS). Сценарии, упомянутые ниже, могут быть использованы для создания, мы заранее создали MathService. Поставщик является специальным методом фабрики и методом get () для возврата значения/сервиса/фабрики.
// Определите модулевар mainApp = angular.module ("mainApp", []); ... // Создать услугу с использованием поставщика, который определяет квадрат метода для возврата квадрата числа.mainapp.config (function ($ предоставляет) {$ предоставление. {return a * b;постоянный
Константы используются для рассмотрения фактов путем настройки значений фазы значения не могут быть переданы на этапе конфигурации.
mainapp.constant ("configparam", "постоянное значение");
пример
В следующих примерах будут показаны все вышеперечисленные инструкции.
testangularjs.html
<html> <Head> <title> angularjs впрыск зависимости </title> </head> <body> <h2> Angularjs Sample Application </h2> <div ng-app = "mainApp" ng-controller = "calccontroller"> <p> Введите число: <input = "ng-model =" ng-click = "square ()"> x <sup> 2 </sup> </button> <p> result: {{result}} </p> </div> <script src = "http://ajax.googleapis.com/ajax/libs/gularjs/1.2.15/angular.min.js> </script> </script> Angular.Module ("maneApp", []); mainapp.config (function ($ предоставление) {$ предоставление.provider ('mathservice', function () {this. $ get = function () {var factory = {}; factory.multiply = function (a, b) {return a * b;} вернуть завод;};});}); }); mainapp.value ("defaultInput", 5); mainApp.factory ('mathservice', function () {var factory = {}; factory.multiply = function (a, b) {return a * b;} возвращать завод;}); mainapp.service ('calcservice', function (mathservice) {this.square = function (a) {return mathservice.multiply (a, a);}}); mainapp.controller ('calccontroller', function ($ scope, calcservice, defaultinput) {$ scope.number = defaultinput; $ scope.result = calcservice.square ($ scope.number); $ scope.square = function () {$ scope.result = calcservice.); </script> </body> </html>результат
Откройте TextAngularjs.html в веб -браузере. Результаты следующие.
Выше приведено сбор информации для инъекции зависимости AngularJS. Мы будем продолжать добавлять соответствующую информацию в будущем. Спасибо за поддержку этого сайта!