未知提供商:$resourceProvider <- AngularJS中的$resource



我在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

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

$resource不是AngularJS Core的一部分。

你必须包括: angular-resource.js


From the docs:

要使用$resource,请确保你已经在Angular包中包含了angular-resource.js。你也可以在Google CDN上找到这个文件,也可以在code.angularjs.org上找到。

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

Like so: angular.module('adminApp')

你还需要在你的angular模块定义中包含angular资源模块定义'ngResource'。模块("adminApp",[' ngResource '])

最新更新