如果你的应用包含多个模块,注意在添加模块时添加其它模块的引用。例如,一个应用包含三个模块app、controls、和data :
// app.js (名称为app的模块依赖于controls和data模块) angular.module("app", [ "controls", "data"])
推断依赖
最简单的处理依赖的方法,就是假设函数的参数名就是依赖的名字
function MyController($scope, greeter) { ... }
给出一个注入器可以通过检查声明来获取函数名,从而知道需要的依赖的函数。在上面的例子中,$scope
和greeter
是需要注入到函数中的依赖,参数名不能修改。
坦白的来讲,用了这种方法就不能使用js压缩了,因为它们会改变变量名。这使得这种方法只适合于pretotyping
和做demo。
$inject 标记
要允许压缩类库重命名函数参数,同时注入器又能正确处理依赖的话,函数需要使用$inject属性。这个属性是一个包含依赖的名称的数组。
var MyController = function(renamed$scope, renamedGreeter) {//形参 ... } MyController.$inject = ['$scope', 'greeter'];//实参
注意$inject标记里的值和函数声明的参数是对应的。
这种方式适合用于控制器的声明,因为控制器有了明确的声明标记。
有时候用$inject标记不是很方便,使用$inject会导致代码膨胀:
比如用来声明指令的时候
someModule.factory('greeter', function($window) { ...; });
使用inject后
var greeterFactory =function(renamed$window){...;}; greeterFactory.$inject =['$window']; someModule.factory('greeter', greeterFactory);
这种情况我们就推荐使用第三种方式
行内标记
someModule.factory('greeter', ['$window', function(renamed$window) { ...; }]);
记住这三种方式是等效的,并且在AngularJS应用中注入器支持的情况下可以随处用。
相关推荐
主要为大家详细介绍了angularjs依赖注入的自己成果,如何实现angularjs依赖注入,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文主要介绍AngularJS 依赖注入,这里对依赖注入做了详细介绍讲解,并提供效果图和示例代码以便学习参考
简介: 首先我们需要理解什么是依赖注入? 控制反转和依赖注入有什么区别? 假定:应用程序A,需要访问外部资源C。这里使用了容器B(是指用来实现 IOC/DI 功能的一个框架程序)。...AngularJS依赖注入 Provi
本文主要介绍AngularJS 依赖注入的知识,这里整理了相关的基础知识,并附示例代码和实现效果图,有兴趣的小伙伴可以参考下
AngularJS 依赖注入 什么是依赖注入 wiki 上的解释是:依赖注入(Dependency Injection,简称DI)是一种软件设计模式,在这种模式下,一个或更多的依赖(或服务)被注入(或者通过引用传递)到一个独立的对象(或...
主要为大家详细介绍了AngularJS依赖注入模拟实现,感兴趣的小伙伴们可以参考一下
angularjs2 form和依赖注入
下面小编就为大家带来一篇浅谈angularjs依赖服务注入写法的注意点。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
它就像 AngularJS 依赖注入,但更轻量级、异步并且在服务器上工作! 内容 强调 使用 Node 回调创建异步/同步服务 自动依赖解析和(异步)注入 适用于 Node 和浏览器 可通过插件扩展(包括一些插件) 轻量级,唯一的...
主要介绍了AngularJS的依赖注入,结合实例形式分析了依赖注入的原理及使用module和injector实现依赖注入的步骤与操作技巧,需要的朋友可以参考下
主要介绍了AngularJS $injector 依赖注入的相关资料,需要的朋友可以参考下
主要为大家详细介绍了Angularjs中的依赖注入,AngularJS提供了一个至高无上的依赖注入机制,感兴趣的小伙伴们可以参考一下
使用添加angularjs依赖项注入注释 安装 $ npm install --save-dev gulp-ng-annotate 用法 var gulp = require ( 'gulp' ) ; var ngAnnotate = require ( 'gulp-ng-annotate' ) ; gulp . task ( 'default' , ...
主要为大家介绍了AngularJs动态加载模块和依赖注入,感兴趣的小伙伴们可以参考一下
ng-注释 ng-annotate添加和删除AngularJS依赖项注入注释。 编写没有注释和标记功能的代码,并使用"ngInject"指令序言进行注释,就像您将"use strict" 。 这必须在功能开始时。 $ cat source . jsangular . module ( ...
AngularJS提供了一个至高无上的依赖注入机制。它提供了一个可注入彼此依赖下列核心组件。 值 工厂 服务 提供者 常值 值 值是简单的JavaScript对象,它是用来将值传递过程中的配置相位控制器。 //define a ...