Javascript 错误:$injector:unpr未知提供程序:itemslistProvider<-
我已经调试代码大约几天了,但找不到解决方案。我已经阅读了angularjs文档以及关于错误的几个现有SO问题,但仍然无法发现代码失败的任何错误 这是我的一项作业,我几乎已经完成并为其编写了代码,但我只是停留在显示类别中的项目。用于显示类别的代码工作正常,但用于显示项目的非常类似的代码工作不正常。我真的很困惑,走到了死胡同。我请求你只给我一个提示或一句话,我可能会出错。我不是要求整个解决方案,因为它违反了荣誉准则 这是文件 index.htmlJavascript 错误:$injector:unpr未知提供程序:itemslistProvider<-,javascript,html,angularjs,web-services,Javascript,Html,Angularjs,Web Services,我已经调试代码大约几天了,但找不到解决方案。我已经阅读了angularjs文档以及关于错误的几个现有SO问题,但仍然无法发现代码失败的任何错误 这是我的一项作业,我几乎已经完成并为其编写了代码,但我只是停留在显示类别中的项目。用于显示类别的代码工作正常,但用于显示项目的非常类似的代码工作不正常。我真的很困惑,走到了死胡同。我请求你只给我一个提示或一句话,我可能会出错。我不是要求整个解决方案,因为它违反了荣誉准则 这是文件 index.html <!DOCTYPE html> <
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="css/styles.css">
<title>My Restro</title>
</head>
<body ng-app="MenuApp">
<ui-view></ui-view>
<!-- Libraries -->
<script src="lib/angular.min.js"></script>
<script src="lib/angular-ui-router.min.js"></script>
<!-- Modules -->
<script src="src/menuapp/menuapp.module.js"></script>
<script src="src/menuapp/data.module.js"></script>
<!-- Routes -->
<script src="src/routes.js"></script>
<!-- 'MenuApp' module artifacts -->
<script src="src/menuapp/menudata.service.js"></script>
<script src="src/menuapp/categories.component.js"></script>
<script src="src/menuapp/categories.controller.js"></script>
<script src="src/menuapp/items.component.js"></script>
<script src="src/menuapp/item-detail.controller.js"></script>
<!-- <script src="src/menuapp/main-menuapp.controller.js"></script> -->
</body>
</html>
routes.js
(function () {
'use strict';
angular.module('MenuApp')
.config(RoutesConfig);
RoutesConfig.$inject = ['$stateProvider', '$urlRouterProvider'];
function RoutesConfig($stateProvider, $urlRouterProvider) {
.........//other states code.....
//items state code
.state('items', {
url: '/items/{categoryShortName}',
templateUrl: 'src/menuapp/templates/item-detail.template.html',
controller: 'ItemDetailController as itemDetailCtrl',
resolve: {
itemlist: ['$stateParams', 'MenuDataService',
function ($stateParams, MenuDataService) {
return MenuDataService.getItemsForCategories($stateParams.categoryShortName);
}]
}
});
}
})();
在路由中,您有解析名称itemlist,并将其作为itemslist注入。我应该是这样的
ItemDetailController.$inject = ['MenuDataService','itemlist'];
function ItemDetailController(MenuDataService,itemlist) {
var itemDetailCtrl = this;
itemDetailCtrl.itemlist=itemlist;
}
})() 为itemslist发布您的代码factory@Sajeetharan我已经编辑了这个问题。我想这就是你想要的。但是,你仍然可以在给定的url上访问整个应用程序。犯这样的错误既有趣又尴尬(:我认为我应该为此惩罚自己。不过,谢谢你的帮助。
ItemDetailController.$inject = ['MenuDataService','itemlist'];
function ItemDetailController(MenuDataService,itemlist) {
var itemDetailCtrl = this;
itemDetailCtrl.itemlist=itemlist;
}