Angular-依赖注入 显式注入和隐式注入

AngularJS

什么是依赖注入:

使用控制反转的思想

是说把控制的主动权转移了,不由调用者决定要调用谁来实现,而是由被注入决定谁去实现。


1、隐式注入

不需要开发人员干预,angularJS自动根据参数的名称识别和注入数据

比如:

app.controller("myCtrl".function($scope) {
	$scope.name="summer"
})

使用隐式注入 有一个缺点就是:隐式注入如果一但要进行优化,就会存在问题。


2、显式注入

开发人员通过字符串描述,告诉angular需要注入的对象名称,这样JS在进行优化的过程中,对字符串是不会压缩的,显式的进行依赖描述

比如:

app.controller("myCtrl",["$scope",function(s){
	s==$ssope
}])

项目实际开发过程中使用显式注入方式!


依赖注入是Angular的招牌功能,使用angular的$injector注入器就可以实例化所有的组件、模块、指令、控制器。这也是angular的核心功能之一。也是理解Angular内部机制的一部分。


而一般来说Angular是不需要显式进行依赖注入的,因为AngualrJS会内部帮你隐式注入。你可以不管内部发生了什么,但是你的组件、模块、指令、控制器就和声明了ng的元素节点绑定在了一起。


只不过为了了解Angular的内部机制,我们还是要学会如果利用angular的$injector进行手工的显式注入。除此之外Angular的显式注入可以定义一个函数被调用时用到的依赖关系。这样的话,在源代码被压缩、参数名字改变的时候,angular还是可以执行依赖注入。但是隐式的注入就没有这种效果了。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值