首页 > 解决方案 > Uncaught ReferenceError: MainCategoriesListController is not defined 错误即将到来

问题描述

错误:

MainCategoriesListController is not defined 

仅在其声明时到来,即angular.module().controller(~~,~~).

此外,在类别状态中,当我尝试记录时,在解析属性中result.data它说:

  TypeError: Cannot read property 'data' of undefined

这是我的控制器:

(function () {
'use strict';

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


MainCategoriesListController.$inject = ['items'];
function MainShoppingListController(items) {
  var category = this;
  category.items = items;
}

})();

这里是状态:

(function () {
'use strict';

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

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

// Redirect to home page if no other URL matches
$urlRouterProvider.otherwise('/');

// *** Set up UI states ***
$stateProvider

// Home page
.state('home', {
url: '/',
templateUrl: 'src/shoppinglist/templates/home.template.html'
})

// Categories list page
.state('categories', {
  url: '/categories',
  templateUrl: 'src/shoppinglist/templates/main-categories.template.html',
  controller: 'MainCategoriesListController as category',
  resolve: {
    items: ['MenuDataService', function (MenuDataService) {
      var promise= MenuDataService.getAllCategories();
      promise.then(function (result) {
        console.log("items : ",result.data);
      })
    }]
  }
});
}
})();

这是我的服务:

(function () {
'use strict';

angular.module('data')
.service('MenuDataService',MenuDataService);

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

    service.getAllCategories=function () {
        var response=$http({
            method: "GET",
            url: "https://davids-restaurant.herokuapp.com/categories.json"
        })
        .then(function (result) {
            console.log("Categories  : ",result.data);
        });
        //console.log("getAllCategories data : ",response.data);
        return response;
    }
})();

data 是另一个模块,它被定义为 MenuApp 模块的依赖项。这两个模块都在单独的文件中声明。所有组件都在单独的文件中定义。

请帮我解决这个问题。

标签: javascriptangularjsangular-ui-routerangular-controllerangular1.6

解决方案


推荐阅读