Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 错误:$injector:unpr未知提供程序:itemslistProvider<-_Javascript_Html_Angularjs_Web Services - Fatal编程技术网

Javascript 错误:$injector:unpr未知提供程序:itemslistProvider<-

Javascript 错误:$injector:unpr未知提供程序:itemslistProvider<-,javascript,html,angularjs,web-services,Javascript,Html,Angularjs,Web Services,我已经调试代码大约几天了,但找不到解决方案。我已经阅读了angularjs文档以及关于错误的几个现有SO问题,但仍然无法发现代码失败的任何错误 这是我的一项作业,我几乎已经完成并为其编写了代码,但我只是停留在显示类别中的项目。用于显示类别的代码工作正常,但用于显示项目的非常类似的代码工作不正常。我真的很困惑,走到了死胡同。我请求你只给我一个提示或一句话,我可能会出错。我不是要求整个解决方案,因为它违反了荣誉准则 这是文件 index.html <!DOCTYPE html> <

我已经调试代码大约几天了,但找不到解决方案。我已经阅读了angularjs文档以及关于错误的几个现有SO问题,但仍然无法发现代码失败的任何错误

这是我的一项作业,我几乎已经完成并为其编写了代码,但我只是停留在显示类别中的项目。用于显示类别的代码工作正常,但用于显示项目的非常类似的代码工作不正常。我真的很困惑,走到了死胡同。我请求你只给我一个提示或一句话,我可能会出错。我不是要求整个解决方案,因为它违反了荣誉准则

这是文件

index.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;
}