我们假设我有以下代码。
$scope.rateApp = function () {
Service.rateApp(true);
}
当我不将服务作为控制器的要求时,AngularJs会说:
ReferenceError: Service is not defined
但它告诉AngularJs支持依赖注入。
我的问题是,如果AngularJs真的支持依赖注入,那么不应该自动将所需的服务注入代码吗?
为什么它让我们指定依赖项列表?我的问题是否有意义,或者我在没有RTFM的情况下问一个愚蠢的问题?
答案 0 :(得分:0)
依赖注入模式始终要求对象指定它们所需的依赖项。
在软件工程中,依赖注入是一种软件设计模式,它实现了软件库的控制反转。调用者将发现和导入服务或软件模块的控制流委托给外部框架。
这些依赖项的提供方式因注入框架而异,并且始终至少需要一些设置来注册将要请求的模块。
在AngularJS中,您通常使用Module Factory注册您的服务,如文档中所示: