您的位置:首页 > Web前端 > AngularJS

如何理解AngularJS中的依赖注入

2016-10-07 19:31 218 查看
    AngularJS最容易引起混淆的特性之一就是依赖注入(DI)。可能很难理解到底什么是依赖注入,它如何工作,以及为什么它是有用的。

    先从理解依赖注入打算要解决的问题开始。一个AngularJS应用程序中的一些组件可能会依赖于其它组件,例如,控制器需要使用 $scope 组件,使得控制器可以向视图传递数据,即控制器依赖于 $scope 组件来执行工作。

<script>
...
myApp.controller('myCtrl', ['$scope',function($scope){
//在此定义controller的逻辑
}]);
...
</script>
    依赖注入简化了组件之间处理依赖的过程(即解决依赖)。没有依赖注入,就不得不以某种方式自己查找$scope,很可能得使用全局变量。这虽然能够工作,但是不如AngularJS的依赖注入技术这么简单。

    AngularJS应用程序中的一个组件通过在工厂函数的参数上声明依赖,声明的名称要与所依赖的组件相匹配。依赖注入改变了函数参数的用途,没有依赖注入,参数会被用于接收调用者想传入的任何对象,但是有了依赖注入后,函数使用参数来提出需求,告诉AngularJS它需要什么样的组件。

    在开发中使用依赖注入的主要好处是AngularJS负责管理组件并在需要的时候提供给相应函数。依赖注入还能够为测试带来好处,因为它允许你使用假的或者模拟的对象来代替真实的组件,从而让开发者专注于程序的特定部分。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  AngularJS 依赖注入