当前位置: 首页 > 面试题库 >

Angular JS中的依赖注入

傅宏恺
2023-03-14
问题内容

我已经阅读了AngularJS文档,但仍然没有我知道的答案。

为什么要使用两次?一次作为数组元素,第二次作为函数参数。

someModule.controller('MyController', ['$scope', 'greeter', function($scope, greeter) {
  // ...
}]);

问题答案:

如果缩小此代码:

someModule.controller('MyController', function($scope, greeter) {
  // ...
});

您将以(类似)结尾:

someModule.controller('MyController', function(a, b) {
  // ...
});

由于参数名称丢失,因此Angular将无法注入依赖项。

另一方面,如果您将此代码最小化:

someModule.controller('MyController', ['$scope', 'greeter', function($scope, greeter) {
  // ...
}]);

您将以:

someModule.controller('MyController', ['$scope', 'greeter', function(a, b) {
  // ...
}]);

参数名称可用:Angular的DI可操作。



 类似资料:
  • 主要内容:什么是依赖注入,value,factory,provider,constant,实例,AngularJS 实例 - factory,AngularJS 实例 - provider什么是依赖注入 wiki 上的解释是:依赖注入(Dependency Injection,简称DI)是一种软件设计模式,在这种模式下,一个或更多的依赖(或服务)被注入(或者通过引用传递)到一个独立的对象(或客户端)中,然后成为了该客户端状态的一部分。 该模式分离了客户端依赖本身行为的创建,这使得程序设计变得松耦

  • 问题内容: 我想知道接下来的两行之间是否有区别,为什么要使用其中之一(这两行按预期工作) 我是从AngularJS官方教程中获得的,我知道有关于此修改的解释,但我不理解它…… http://docs.angularjs.org/tutorial/step_05 提前致谢! 问题答案: 如果缩小第一行,则会得到: 依赖注入将无法再工作,因为角度不知道什么和有。比较一下以缩小第二个版本: 该函数的参数

  • 问题内容: 我想使用适当的依赖项注入来注入对象的字段。我尝试了很多不同的尝试注入等失败的组合。 问题答案: 解析是路由的属性,而不是控制器的属性。控制器将注入在路由级别上定义的依赖项,而无需在控制器上指定解析属性。 以您的一个示例(转换为JavaScript)为例,您将像往常一样定义控制器,即: 然后是路线上的resolve属性: 如果您想使用路由的resolve部分来减少代码,则需要使用数组样式

  • 本文向大家介绍详解AngularJS中的依赖注入机制,包括了详解AngularJS中的依赖注入机制的使用技巧和注意事项,需要的朋友参考一下  依赖注入是一个在组件中给出的替代了硬的组件内的编码它们的依赖关系的软件设计模式。这减轻一个组成部分,从定位的依赖,依赖配置。这有助于使组件可重用,维护和测试。 AngularJS提供了一个至高无上的依赖注入机制。它提供了一个可注入彼此依赖下列核心组件。   

  • 本文向大家介绍AngularJS $injector 依赖注入详解,包括了AngularJS $injector 依赖注入详解的使用技巧和注意事项,需要的朋友参考一下 推断式注入 这种注入方式,需要在保证参数名称与服务名称相同。如果代码要经过压缩等操作,就会导致注入失败。 标记式注入 这种注入方式,需要设置一个依赖数组,数组内是依赖的服务名字,在函数参数中,可以随意设置参数名称,但是必须保证顺序的

  • 本文向大家介绍AngularJS学习第二篇 AngularJS依赖注入,包括了AngularJS学习第二篇 AngularJS依赖注入的使用技巧和注意事项,需要的朋友参考一下 简介: 首先我们需要理解什么是依赖注入? 控制反转和依赖注入有什么区别? 假定:应用程序A,需要访问外部资源C。这里使用了容器B(是指用来实现 IOC/DI 功能的一个框架程序)。 A需要访问C B获取C然后返回给A IOC

  • 问题内容: 尝试为模块设置一些辅助值。尝试了服务和价值,但没有帮助: 我做错了什么? 问题答案: 问题是您试图将值对象插入AngularJS模块的config块中,并且不允许这样做。您只能在config块中注入常量和提供程序。 AngularJS 文档(部分:“模块加载和依赖关系”)提供了有关以下方面的见解: 模块是配置和运行块的集合,这些块在引导过程中应用于应用程序。以最简单的形式,该模块包含两

  • 问题内容: 当前在app.js中,我有以下路线: 如您所见,我正在尝试注入Path依赖项。尽管我收到一条错误消息,说找不到该提供程序。我认为这是因为配置模块提供程序首先执行。以下是“ services.js”中我的路径提供程序定义 我怎样才能将此提供程序注入配置模块? 问题答案: 在中,只能使用提供程序(例如)。在你只能使用服务(如实例)。您有一家工厂,而不是供应商。请参阅具有以下三种创建方式的代