2015-06-26 3 views
0

Я только начал изучать углы и столкнулся с этой проблемой. Вышеприведенная ошибка возникает при запуске приложения. Мои коды являются

app.js

'use strict'; 
angular.module('underscore', []).factory('_', function() { 
return window._; 
}); 

var myApp = angular.module('myApp', [ 
'ngRoute']); 

myApp.config(function ($routeProvider) { 
$routeProvider 
    .when('/a', 
    { 
     controller: 'aController', 
     templateUrl: 'module/a/a.html' 
    }) 
    .otherwise({redirectTo: '/view1'}); 
}); 

a.js (контроллер)

'use strict'; 

myApp.controller('aController', 
function($scope,aCollection, $location) { 
    $scope.foo= { 

    }; 

    $scope.create= function() { 
     aCollection.create($scope.foo); 
     $location.path('/a-creation'); 
    }; 
}); 

aCollection.js (услуги)

'use strict'; 

myApp.factory('aCollection', function($resource) { 
return $resource('../api/dummy', {}, { 
    create : {method: 'POST' } 
}) 
}); 

Ошибка:

Error: [$injector:unpr] http://errors.angularjs.org/1.3.16/$injector/unpr?p0=%24resourceProvider%20%3C-%20%24resource%20%3C-%20aCollection 
at Error (native) 
at http://localhost:9080/lib/angular.min.js:6:417 
at http://localhost:9080/lib/angular.min.js:38:7 
at Object.d [as get] (http://localhost:9080/lib/angular.min.js:36:13) 
at http://localhost:9080/lib/angular.min.js:38:81 
at d (http://localhost:9080/lib/angular.min.js:36:13) 
at Object.e [as invoke] (http://localhost:9080/lib/angular.min.js:36:283) 
at Object.$get (http://localhost:9080/lib/angular.min.js:34:268) 
at Object.e [as invoke] (http://localhost:9080/lib/angular.min.js:36:315) 
at http://localhost:9080/lib/angular.min.js:38:110 <div data-ng-view="" class="ng-scope"> 

Может кто-нибудь помочь мне с этим? Большое спасибо!!!

+0

вы можете предоставить * полный * ошибка? или, по крайней мере, часть, в которой говорится, какой поставщик является неудавшимся? – Claies

+0

извините. Я приложил полную ошибку. – sunny

+0

проблема исправлена. это проблема с конфликтом версии между angular.js и angular-route.js – sunny

ответ

0

Можете ли вы попробовать этот?

'use strict'; 

angular.module('myApp') 
.controller('aController', ['$scope', 'aCollection', '$location', function($scope, aCollection, $location) { 
    $scope.foo= { 

    }; 

    $scope.create= function() { 
     aCollection.create($scope.foo); 
     $location.path('/a-creation'); 
    }; 
}]).factory('aCollection', function($resource) { 
     return $resource('../api/dummy', {}, { 
      create : {method: 'POST' } 
     }) 
}); 

EDITED

+0

, по-прежнему такая же ошибка. и я фактически разделяю контроллер и службу, чтобы поддерживать лучшую структуру файлов. – sunny

+0

Подождите, я попытаюсь исправить свой код. Вопрос только в том случае, если вы разделили эти 2 файла javascript, как вы узнаете, что фабрика была вызвана? –

+0

он действительно может позвонить на завод – sunny

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