Angular.js错误:未知提供者:$ resource

时间:2013-05-01 16:19:18

标签: angularjs

我正在尝试在我的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吗?

1 个答案:

答案 0 :(得分:3)

来自AngularJS documentation on Modules(“模块加载和依赖关系”部分):

  

配置块 - 在提供商注册和配置阶段执行。只有提供程序和常量才能注入配置块。这是为了防止服务在完全配置之前意外实例化。

因此,举例来说,您可以将$routeProvider注入config块,但不能注入$route

如果您需要在路线更改之前向控制器提供信息,您可以考虑使用resolve的{​​{1}}键;如果将函数赋给$routeProvider.when,Angular将确保在运行函数时注入函数(就像控制器一样);如果你指定一个字符串,Angular会找到同名的注射剂并注入它。