의존성 주입은 하드 구성 요소 내에서 종속성의 인코딩을 대체하는 구성 요소에 제공된 소프트웨어 설계 패턴입니다. 이는 위치에 종속성, 종속성 구성에서 구성 요소를 줄입니다. 이를 통해 구성 요소를 재사용하고 유지 관리 및 테스트 할 수 있습니다.
AngularJS는 최고의 의존성 주입 메커니즘을 제공합니다. 서로 의존하는 주사 가능한 핵심 구성 요소를 제공합니다.
값
공장
제공하다
공급자
언제나
값
값은 구성 단계 컨트롤러 중 값을 전달하는 데 사용되는 간단한 JavaScript 객체입니다.
// modulevar mainApp = Angular.Module ( "mainApp", []); // 값 객체를 "defaultInput"으로 작성하고 데이터를 전달하고 data.mainApp.Value ( "defaultInput", 5); ... // 이름 "defaultInput"mainApp.controller ( 'Calccontroller', Calccontroller ', Calccontroller', Calccontroller)를 사용하여 컨트롤러에 값을 주입합니다. {$ scope.number = defaultInput.result.square.squpe.square = function ();공장
공장은 기능의 값을 반환하는 데 사용됩니다. 서비스 나 컨트롤러가 필요할 때마다 수요에 따라 가치를 만듭니다. 일반적으로 공장 기능을 사용하여 해당 값을 계산하고 반환합니다.
// modulevar mainApp = angular.Module ( "mainApp", []); // 공장 "MathService"를 제공하는 두 개의 숫자 mainApp.factory ( 'mathService', function () {var factory = {}; factory.multiply = function (a, b)) {return a * b}); // 공장에서 "MathService"를 공장에 주입하여 공장의 곱하기 방법을 활용하기위한 서비스에 공장 "MathService"를 주입합니다 .MainApp.Service ( 'comcservice', function (mathservice) {this.square = function (a) {return mathservice.multiply (a, a);}}; ...제공하다
서비스는 특정 작업을 수행하기위한 기능 객체 세트가 포함 된 단일 자바 스크립트입니다. 서비스는 Service () 함수를 사용하고 컨트롤러의 정의에 주입합니다.
// modulevar mainApp = Angular.Module ( "mainApp", []); ... // 숫자의 제곱을 반환하기 위해 메소드 제곱을 정의하는 서비스를 작성합니다. ControllerMainApp.controller ( 'calccontroller', function ($ scope, calcservice, defaultInput) {$ scope.number = defaultInput; $ scope.result = comcservice.square ($ scope.number); $ scope.square = function () {$ scope.result.squeRear ($ scope.result);공급자
제공자는 AngularJS 내부 생성 프로세스의 구성 단계 (AngularJS 부팅 자체)의 구성 단계에서 서비스, 공장 등을 사용합니다. 아래에 언급 된 스크립트는 생성하는 데 사용될 수 있으며 미리 MathService를 만들었습니다. 제공자는 특수 공장 방법 및 get () 방법으로 가치/서비스/공장을 반환합니다.
// modulevar mainApp = angular.Module ( "mainApp", []); ... // 숫자를 반환하기 위해 메소드 제곱을 정의하는 서비스를 사용하여 서비스를 작성합니다. {reture}};끊임없는
상수는 위상 값을 구성하여 사실을 고려하는 데 사용되며 구성 단계에서 값을 전달할 수 없습니다.
mainapp.constant ( "configparam", "constant value");
예
다음 예제는 위의 모든 지침을 보여줍니다.
testangularjs.html
<html> <head> <title> AngularJS 종속성 주입 </title> </head> <h2> AngularJS 샘플 응용 프로그램 </h2> <div ng-app = "mainApp"ng-controller = "calccontroller"> <p> 숫자를 입력하십시오 : <input type = "nums"ng-model = "button" ng-click = "square ()"> x <sup> 2 </sup> </sup> </button> <p> 결과 : {{result}} </p> </div> <script src = "http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"> Angular.Module ( "MainApp", []); mainApp.config (function ($ pross) {$ prose.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;} return factory;}); 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 = compservice.square ($ scope.number); $ scope.square = function () {$ scope.result = compservice.square ($ scope.square.square); </script> </body> </html>결과
웹 브라우저에서 Open TextAngularjs.html. 결과는 다음과 같습니다.
위의 것은 AngularJS 의존성 주입을위한 정보 모음입니다. 우리는 향후 관련 정보를 계속 추가 할 것입니다. 이 사이트를 지원 해주셔서 감사합니다!