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