2017-09-13 5 views
0

저는 Angular JS를 다루는 수업을위한 코딩 프로젝트를 진행하고 있습니다. 내가 오류 : [$ injector : unpr] (아래의 특정 오류)를 만났고 스택 오버 플로우와 Angular JS 웹 사이트를 보았지만 수정 사항을 찾을 수 없었습니다. 도와 주시고 미리 감사드립니다. 코드와 오류는 아래와 같습니다.

PS : 나는 버전 1.6.5을 각-UI-라우터 버전 1.0.3을 사용하고 AngularJS와있어

오류

Transition Rejection($id: 0 type: 6, message: The transition errored, 
detail: Error: [$injector:unpr] 
http://errors.angularjs.org/1.6.5/$injector/unpr? 
p0=MenuDataServiceProvider%20%3C-%20MenuDataService) 
_defaultErrorHandler @ angular-ui-router.min.js:13 
(anonymous) @ angular-ui-router.min.js:13 
(anonymous) @ angular.min.js:136 
$digest @ angular.min.js:147 
$apply @ angular.min.js:150 
(anonymous) @ angular.min.js:163 
e @ angular.min.js:48 
(anonymous) @ angular.min.js:51 
setTimeout (async) 
h.defer @ angular.min.js:51 
f @ angular.min.js:163 
(anonymous) @ angular-ui-router.min.js:11 
kg @ angular.min.js:39 
d @ angular.min.js:39 


angular-ui-router.min.js:13 Error: [$injector:unpr] 
http://errors.angularjs.org/1.6.5/$injector/unpr?p0=MenuDataServiceProvider%20%3C-%20MenuDataService 
at angular.min.js:7 
at angular.min.js:46 
at Object.d [as get] (angular.min.js:43) 
at angular.min.js:46 
at Object.d [as get] (angular.min.js:43) 
at t.getNative (angular-ui-router.min.js:12) 
at o (angular-ui-router.min.js:12) 
at Array.map (<anonymous>) 
at t.getDependencies (angular-ui-router.min.js:12) 
at i (angular-ui-router.min.js:12) 

컨트롤러

(function() { 
'use strict'; 

angular.module('MenuAppX') 
.controller('categoriesXController', categoriesXController); 


categoriesXController.$inject = ['categoriesResult']; 
function categoriesXController(categoriesResult) { 
    var categoriesX = this; 
categoriesX.cat = categoriesResult; 
}; 
})(); 

구성 요소

(function() { 
'use strict'; 

angular.module('MenuAppX') 
.component('categoriesX', { 
    templateUrl: 'src/MenuApp/template/categories.template.html', 
    bindings: { 
    categoriesResult: '<' 
    } 
}); 

})(); 

Servic 전자

(function() { 
    'use strict' 
    angular.module('data') 
    .service('MenuDataService', MenuDataService); 

    MenuDataService.$inject = ['$http', '$q', '$timeout']; 
    MenuDataService = function($http, $q, $timeout) { 
    var service = this; 

    service.getAllCategory = function() { 
     var deferred = $q.defer(); 
     var categoriesResult = $http({ 
     method: "GET", 
     url: ('https://davids-restaurant.herokuapp.com/categories.json'), 
     }); 
     $timeout(function() { 
    deferred.resolve(categoriesResult); 
    }, 800); 
    return deferred.promise; 
    } 
    // service.getItemsForCategory = function(categoryShortName) { 
// var deferred = $q.defer(); 
// var itemsResult = $http({ 
//  method: "GET", 
//  url: (' https://davids-restaurant.herokuapp.com/menu_items.json?category='), 
//  params: { 
//  category: categoryShortName 
//  } 
// }); 
// console.log(itemsResult); 
// deferred.resolve(itemsResult); 
// } 
    }; 

}); 

메뉴 응용 프로그램 모듈

(function() { 
'use strict'; 

angular.module('MenuAppX', ['ui.router', 'data']); 

})(); 

데이터 모듈

(function() { 
'use strict'; 

angular.module('data', []) 

})(); 

루트

(function() { 
'use strict'; 

angular.module('MenuAppX') 
.config(RoutesConfig); 

RoutesConfig.$inject = ['$stateProvider', '$urlRouterProvider']; 
function RoutesConfig($stateProvider, $urlRouterProvider) { 
    $urlRouterProvider.otherwise('/'); 

    $stateProvider 
    .state('home', { 
    url: '/', 
    templateUrl: 'src/MenuApp/template/home.template.html' 
    }) 
    .state('category', { 
    url: '/menuCategory', 
    templateUrl: 'src/MenuApp/template/categories.template.html', 
    controller: 'categoriesXController as categoriesX', 
    resolve: { 
     categories: ['MenuDataService', function (MenuDataService) { 
     return MenuDataService.getAllCategory(); 
     }] 
    } 
    }) 

    .state('items', { 
    url: '/menuItems', 
    templateUrl: 'src/MenuApp/template/items.template.html' 
    }) 
} 
})(); 

지수

012 3,

답변

0

난 당신이 내가 그 시도했지만 여전히 같은 오류를받은 menuapp.module.js

<script src="lib/angular.min.js"></script> 
<script src="lib/angular-ui-router.min.js"></script> 
<!-- Modules --> 
<script src="src/MenuApp/data.module.js"></script> 
<script src="src/MenuApp/data.service.js"></script> // MenuDataService serivce script 
<script src="src/MenuApp/menuapp.module.js"></script> 
<!-- 'menuapp' modules artifacts --> 
<script src="src/MenuApp/menudata.service.js"></script> 
<script src="src/MenuApp/categories.component.js"></script> 
<script src="src/MenuApp/items.component.js"></script> 
<script src="src/MenuApp/categories.controller.js"></script> 
<script src="src/MenuApp/item.controller.js"></script> 
<!-- Routes --> 
<script src="src/routes.js"></script> 
+0

, 다른 아이디어 전에 MenuDataService 서비스를 포함하는 스크립트를 추가 할 필요가 있다고 생각? –