2014-12-25 6 views
4

Попадая следующее сообщение на моем angularjs приложение:

Error: [$injector:unpr] Unknown provider: $resourceProvider <- $resource <- Item 
http://errors.angularjs.org/1.3.8/$injector/unpr?p0=%24resourceProvider%20%3C-%20%24resource%20%3C-%20Item 
    at http://localhost:49717/Scripts/angular.js:63:12 
    at http://localhost:49717/Scripts/angular.js:3994:19 
    at Object.getService [as get] (http://localhost:49717/Scripts/angular.js:4141:39) 
    at http://localhost:49717/Scripts/angular.js:3999:45 
    at getService (http://localhost:49717/Scripts/angular.js:4141:39) 
    at Object.invoke (http://localhost:49717/Scripts/angular.js:4173:13) 
    at Object.enforcedReturnValue [as $get] (http://localhost:49717/Scripts/angular.js:4035:37) 
    at Object.invoke (http://localhost:49717/Scripts/angular.js:4182:17) 
    at http://localhost:49717/Scripts/angular.js:4000:37 
    at getService (http://localhost:49717/Scripts/angular.js:4141:39) <div ng-view="" class="ng-scope"> 

Мои app.js

'use strict'; 

var SalesApp = angular.module('SalesApp', ['ngRoute']). 
    config(['$routeProvider', function ($routeProvider) { 
     $routeProvider. 
      when('/', { controller: ItemCtrl, templateUrl: 'item.html' }). 
      otherwise({ redirectTo: '/' }); 
    }]); 

SalesApp.factory('Item', function ($resource) { 
    return $resource('/api/Item/:iid', { iid: '@iid' }, { update: { method: 'PUT' } }); 
}); 

var ItemCtrl = function ($scope, $location, Item) { 
    $scope.items = Item.query(); 
}; 

Сценарии, которые я загружаю

<script src="Scripts/jquery-1.9.1.js"></script> 
    <script src="Scripts/angular.js"></script> 
    <script src="Scripts/angular-resource.js"></script> 
    <script src="Scripts/app.js"></script> 
    <script src="Scripts/angular-resource.js"></script> 
    <script src="Scripts/angular-sanitize.js"></script> 
    <script src="Scripts/angular-animate.js"></script> 
    <script src="Scripts/angular-touch.js"></script> 
    <script src="Scripts/angular-route.js"></script> 

Can» Подумайте, что, возможно, пошло не так? Для простоты я сохраняю ItemCtrl в файле app.js, не знаю, как бы я это сделал иначе?

+0

Вы включили нг-ресурс дважды – maja

ответ

15

вам необходимо указать его как зависимость, поскольку служба $ resource не поставляется в комплекте с основным угловым скриптом. После включения его в HTML-страницы, он может быть включен как:

var SalesApp = angular.module('SalesApp', ['ngRoute','ngResource']). 
+0

Благодаря кучу, что сделали это! Привет, друг! :) – btmach

+0

@btmach мое удовольствие, вы можете принять его в качестве ответа, чтобы он мог помочь и другим :) –

+0

Чувак Я потратил 3 дня, пытаясь понять, почему мое приложение отлично работает, но я не мог ввести свой ресурс в единицу контрольная работа. Это было решение. Огромное спасибо. – MorningDew

Смежные вопросы