Контроллер с именем 'MyPageController' не зарегистрирован Ошибка (Angular1.5.3) - PullRequest
0 голосов
/ 16 апреля 2019

Я работаю над довольно старым проектом, использующим Angular1.5.3, и теперь я хочу добавить новый компонент. Я настроил все как другой компонент, теперь новая страница может отображаться (.html работает нормально), но данные не загружаются (контроллер). и я получил ошибку:

The controller with the name 'MyPageController' is not registered

вот код проекта:

в mypage.controller.js:

(function () {
  'use strict';

  angular
    .module('forecastAngular')
    .controller('MypageController', MypageController);

  /** @ngInject */
  function MyPageController($scope, $rootScope, $state, $http, $timeout, usSpinnerService, dataFactory, $q, CommonServices, baseUrl) { 
... 
}

и в index.route.js:

(function () {
  'use strict';

  angular
    .module('forecastAngular')
    .config(routerConfig);

  /** @ngInject */
  function routerConfig($stateProvider, $urlRouterProvider) {

  $stateProvider
  .state('mypage', {
        url: '/mypage',
        views: {
          'body': {
            templateUrl: 'app/myPage/mypage.html',
            controller: 'MypageController',
          }
        },
        data: {
          authorizedRoles: ['Admin', 'Manager', 'Director', 'Registered User', 'HR'],
          menuName: "mypage",
          isShowSearch: false,
          isShowDomain: false
        }
      });
}

и я тоже искал эту проблему, кто-то сказал, введите контроллер использования:

angular.module('myApp', []).controller('MyController', [function() {
  // ...
}]);

но я пытался. не работа для меня. а другой компонент - это конфиг, подобный тому, который я вставил выше. и работает нормально.

Может кто-нибудь сказать мне, как я могу правильно зарегистрировать контроллер?

Ответы [ 2 ]

1 голос
/ 16 апреля 2019

Неверное имя функции.

.controller('MyPageController', MyPageController);

Должно быть:

.controller('MyPageController', UtforcastController);

Эта функция MyPageController не существует.

0 голосов
/ 16 апреля 2019

вы сказали, что ваше имя модуля forecastAngular, но в другом коде позже вы создали другой модуль, который не ссылается ни на один другой, и он создает пустой контроллер

Примечание:

module(x) является геттером

module(x, []) является сеттером

Итак, вы пытаетесь получить модуль, который вы не можете определить здесь:

angular
    .module('forecastAngular')
    .config(routerConfig);
...