2017-01-21 1 views
0

며칠 동안 코드를 디버깅했지만 해결책을 찾을 수 없습니다. 나는 angularjs 문서뿐만 아니라 오류에 대한 기존의 몇 가지 질문을 읽었으나 코드가 실패한 오류를 발견하지 못했습니다.

이것은 내가 거의 완료하고 코드를 작성한 과제 중 하나이지만 범주의 항목을 표시하는 데 막혀 있습니다. 카테고리를 표시하는 코드는 정상적으로 작동하지만 항목을 표시하는 코드는 매우 유사하지 않습니다. 나는 정말로 혼란스럽고 막 다른 길을 걸었다. 나는 너에게 나에게 잘못을 줄 수있는 힌트 나 라인만을 줄 것을 요청한다. 나는 명예에 어긋나 기 때문에 전체 해결책을 요구하지는 않습니다.

그래서, 여기에 파일

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> 

아이템 detail.controller :

(function() { 
    'use strict'; 

    angular.module('MenuApp') 
    .controller('ItemDetailController', ItemDetailController); 

    // 'itemlist' is injected through state's resolve 
    ItemDetailController.$inject = ['MenuDataService','itemslist']; 
    function ItemDetailController(MenuDataService,itemslist) { 
    var itemDetailCtrl = this; 
    itemDetailCtrl.itemslist=itemslist; 
    } 

    })(); 

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); 
     }] 
    } 
    }); 
} 

})(); 
+0

itemslist 공장 코드에 게시하십시오. – Sajeetharan

+0

@Sajeetharan 질문을 편집했습니다. 나는 그것이 당신이 원하는 것이라고 생각합니다. 그러나 주어진 URL에서 전체 앱에 계속 액세스 할 수 있습니다. – geeksal

답변

0

당신은 name itemlist를 해결했습니다. 당신이 itemslist로 그것을 주입 했습니까? Ii는 이렇게되어야합니다.

ItemDetailController.$inject = ['MenuDataService','itemlist']; 
function ItemDetailController(MenuDataService,itemlist) { 
    var itemDetailCtrl = this; 
    itemDetailCtrl.itemlist=itemlist; 
} 

})();

+0

그런 실수를하는 것은 너무나 우습거나 당혹 스럽다. (나는 이것에 대해 내가 처벌해야한다고 생각한다. 그러나 도움을 주셔서 감사합니다. – geeksal

관련 문제