我正在尝试在我的angular.js应用程序的配置部分内配置当前用户,并收到以下错误:
Error: Unknown provider: $resource from manyminds
这就是我传递资源的方式:
myApp.config(function($routeProvider, $resource) {
在包含app.js
之前,我包含了资源文件<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.1.4/angular-resource.js"></script>
<script src="assets/js/app.js"></script>
将$ resource传递给我的任何控制器时,我都没有收到错误 - 只有在将它传递给config时才会出现。我可以不在配置中使用$ resource吗?
答案 0 :(得分:3)
来自AngularJS documentation on Modules(“模块加载和依赖关系”部分):
配置块 - 在提供商注册和配置阶段执行。只有提供程序和常量才能注入配置块。这是为了防止服务在完全配置之前意外实例化。
因此,举例来说,您可以将$routeProvider
注入config
块,但不能注入$route
。
如果您需要在路线更改之前向控制器提供信息,您可以考虑使用resolve
的{{1}}键;如果将函数赋给$routeProvider.when
,Angular将确保在运行函数时注入函数(就像控制器一样);如果你指定一个字符串,Angular会找到同名的注射剂并注入它。