5

我在 app.js 中声明了以下内容

angular.module('adminApp', ['ngGrid','ngResource']);

在 data.js 中

angular.module('adminApp', [])
.factory('testAccountService', function ($http) {
    var TestAccount = {

在 GridCtrl.js

angular.module('adminApp',[])
    .controller('GridCtrl', function ($scope, $http, $resource, testAccountService) {
        $scope.selectedTestAccount = null;

我正在像这样加载我的脚本:

<script src="~/Scripts/jquery-1.9.1.min.js"></script>
<script src="~/Scripts/angular.min.js"></script>  
<script src="~/Scripts/angular-resource.min.js"></script>
<script src="~/App/admin/services/Data.js"></script>
<script src="~/App/admin/controllers/GridCtrl.js"></script>

当我运行它时,它给了我一个错误消息:

Error: Unknown provider: $resourceProvider <- $resource
at Error (<anonymous>)
at http://127.0.0.1:81/Scripts/angular.js:2682:15
at Object.getService [as get] (http://127.0.0.1:81/Scripts/angular.js:2810:39)
at http://127.0.0.1:81/Scripts/angular.js:2687:45

我这样做的方式有问题吗?我对如何设置服务感到困惑,但我看不出有什么问题:

4

3 回答 3

31

$resource不是 AngularJS 核心的一部分。

您必须包括:angular-resource.js.


文档

要使用$resource,请确保您已包含angular-resource.jsAngular 包中的内容。您还可以在 Google CDN、bower 以及code.angularjs.org上找到此文件。

于 2013-04-15T01:34:38.283 回答
16

在您的 data.js 和 GridCtrl.js 中,您需要[]angular.module('adminApp', [])调用中删除 。

像这样: angular.module('adminApp')

另外,请确保首先加载您的 app.js。

于 2013-04-15T01:51:12.967 回答
8

您还需要在模块定义中包含角度资源模块定义 'ngResource' angular.module('adminApp', ['ngResource'])

于 2016-01-25T07:59:38.707 回答