AngularJS 浅谈DI-依赖注入 $injector的神奇之处

前言

依赖注入(DI)和控制反转(IOC)都是java Spring里经典的面向对象编程的法则来削减计算机程序的耦合问题的解决方案。
在Angular中,引入了DI的思想,DI是一种工具思想,而不是一种目的,它的目的是为了降低程序代码之间的耦合。

Angular的启动方式

先看一下angular究竟是怎么启动的。
在等待DOM解析完毕后,触发DOMContentLoaded事件时,angular会尝试找到ng-app指令,从而来确定程序的边界,而angular总是以模块开始启动的。

一个简单的angular程序,大概类似于这样

angular.module("myApp",[])

            .controller('myController', ['$scope', function($scope){
                console.log("hello world");
            }]);

上述代码比较简单我这里就不再赘述了。

然而,有的时候我们并不想显示的通过ng-app来启动angular,因此我们可以手动的调用angular.bootstrap方法来进行一个启动的操作,到这里我们首先必须明白,angular是一个单例对象,被绑定在window这个全局对象上。

在启动angular程序之前,我们必须明白的是我们必须等待浏览器解析DOM树完毕后我们才能启动angular来遍历DOM树,由于angular内部封装有轻量级的jquery,因此我们可以这样写

let app = angular.module("myApp",[]);
angular.element
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值