时间:2021-05-25
一个对象通常有三种方式可以获得对其依赖的控制权:
依赖注入是通过第三种方式实现的。比如:
function SomeClass(greeter) {this.greeter = greeter;}SomeClass.prototype.greetName = function(name) {this.greeter.greet(name);};SomeClass能够在运行时访问到内部的greeter,但它并不关心如何获得对greeter的引用。
为了获得对greeter实例的引用,SomeClass的创建者会负责构造其依赖关系并传递进去。
基于以上原因,AngularJS使用$injetor(注入器服务)来管理依赖关系的查询和实例化。
事实上,$injetor负责实例化AngularJS中所有的组件,包括应用的模块、指令和控制器等。
例如下面这段代码。这是一个简单的应用,声明了一个模块和一个控制器:
当AngularJS实例化这个模块时,会查找greeter并自然而然地把对它的引用传递进去:
<div ng-app="myApp"><div ng-controller="MyController"><button ng-click="sayHello()">Hello</button></div></div>而在内部,AngularJS的处理过程是下面这样的:
// 使用注入器加载应用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})以上就是本文的全部内容,希望本文对大家学习Angularjs依赖注入有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
依赖注入是一个在组件中给出的替代了硬的组件内的编码它们的依赖关系的软件设计模式。这减轻一个组成部分,从定位的依赖,依赖配置。这有助于使组件可重用,维护和测试。A
本文实例分析了AngularJS的依赖注入。分享给大家供大家参考,具体如下:依赖注入(DI)的好处不再赘言,使用过spring框架的都知道。AngularJS作
AngularJS依赖注入什么是依赖注入wiki上的解释是:依赖注入(DependencyInjection,简称DI)是一种软件设计模式,在这种模式下,一个或
一、概述AngularJS有一经典之处就是依赖注入,对于什么是依赖注入,熟悉spring的同学应该都非常了解了,但,对于前端而言,还是比较新颖的。依赖注入,简而
使用对象模拟注入我们可以非常容易的使用angularjs的$provider服务用一个对象模拟一个依赖并且注入。例子如下angular.module('arti