Angularjs странные ошибки загрузки контроллеров

0

Я развиваю angularjs в течение последних месяцев, и у меня есть приложение с некоторыми контроллерами, директивами и службами. До сих пор все прошло хорошо, но с последним контроллером я получаю странную ошибку, которая заставляет меня сойти с ума. Потому что приложение его больше, чтобы поставить здесь весь код, я поставлю важные части.

В моем index.html

<!DOCTYPE html>
<html ng-app="my_app">
<head>
    <meta charset="encoding">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

    <meta name="viewport"  content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
    <title></title>

    <link rel="stylesheet" href="lib/ionic/css/ionic.css">
    <link rel="stylesheet" href="css/style.css">

    <!-- ionic/angularjs js -->
    <script src="lib/ionic/js/ionic.bundle.js"></script>
    <script src="lib/angular-translate/angular-translate.min.js"></script>
    <script src="lib/angular-translate-loader-static-files/angular-translate-loader-static-files.min.js"></script>

    <!-- cordova script (this will be a 404 during development) -->
    <!--<script src=""-->
    <script src="cordova.js"></script>


    <!-- your app js -->
    <script src="js/app.js"></script>
    <!--SERVICES-->
    <script src="js/services/services.js"></script>
    <script src="js/services/s_configDB.js"></script>
    <script src="js/services/s_clinicDB.js"></script>
    <!-- CONTROLLERS -->
    <script src="js/controllers/controllers.js"></script>
    <script src="js/controllers/c_splash.js"></script>
    <script src="js/controllers/c_communications.js"></script>
    <!--<script src="js/controllers/c_communicationsB.js"></script> 
    <script src="js/controllers/c_clock.js"></script>
    <script src="js/controllers/c_menu.js"></script>
    <script src="js/controllers/c_language.js"></script>
    <!--DIRECTIVES-->
    <script src="js/directives/directives.js"></script>
    <script src="js/directives/d_menu.js"></script>

</head>

<body ng-controller="AppComms">
    <ion-nav-view ></ion-nav-view>
</body>
</html>

At my app.js:

var SDv4 = angular.module('my_app', [
    'ionic',
    'my_app.services',
    'my_app.controllers',
    'my_app.directives'
]);

На контроллерах.js

var app = angular.module('my_app.controllers',[
    //'ionic',
    'my_app.c_splash',
    'my_app.c_clock',
    'my_app.c_language',
    'my_app.c_comms',
    //'my_app.c_commsb',
    'pascalprecht.translate',
    'my_app.c_menu'
]);

И, например, c_communications.js

var comms = angular.module('my_app.c_comms',[])

comms.controller('AppComms',['$scope',function($scope){

    …

}])

Этот код работает нормально, но если я добавлю еще один контроллер (c_communicationsB.js):

var commsb = angular.module('my_app.c_commsb',[])

и добавьте my_app.commsb в controllers.js

Это дает мне ошибку:

ionic.bundle.js:8895 Uncaught Error: [$injector:modulerr] Failed to instantiate module MY_APP due to:
Error: [$injector:modulerr] Failed to instantiate module my_app.controllers due to:
Error: [$injector:modulerr] Failed to instantiate module my_app.c_commsb due to:
Error: [$injector:nomod] Module ‘my_app.c_commsb' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
http://errors.angularjs.org/1.4.3/$injector/nomod?p0=MY_APP.c_commsb
    at http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:8895:12
    at http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:10785:17
    at ensure (http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:10709:38)
    at module (http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:10783:14)
    at http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:13189:22
    at forEach (http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:9163:20)
    at loadModules (http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:13173:5)
    at http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:13190:40
    at forEach (http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:9163:20)
    at loadModules (http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:13173:5)
http://errors.angularjs.org/1.4.3/$injector/modulerr?p0=MY_APP.c_commsb&…3A63342%2FSD4v040t2%2Fwww%2Flib%2Fionic%2Fjs%2Fionic.bundle.js%3A13173%3A5)
    at http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:8895:12
    at http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:13212:15
    at forEach (http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:9163:20)
    at loadModules (http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:13173:5)
    at http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:13190:40
    at forEach (http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:9163:20)
    at loadModules (http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:13173:5)
    at http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:13190:40
    at forEach (http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:9163:20)
    at loadModules (http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:13173:5)
http://errors.angularjs.org/1.4.3/$injector/modulerr?p0=MY_APP.controlle…3A63342%2FSD4v040t2%2Fwww%2Flib%2Fionic%2Fjs%2Fionic.bundle.js%3A13173%3A5)
    at http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:8895:12
    at http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:13212:15
    at forEach (http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:9163:20)
    at loadModules (http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:13173:5)
    at http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:13190:40
    at forEach (http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:9163:20)
    at loadModules (http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:13173:5)
    at createInjector (http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:13099:11)
    at doBootstrap (http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:10457:20)
    at bootstrap (http://localhost:63342/SD4v040t2/www/lib/ionic/js/ionic.bundle.js:10478:12)
http://errors.angularjs.org/1.4.3/$injector/modulerr?p0=MY_APP&p1=Error%…A63342%2FSD4v040t2%2Fwww%2Flib%2Fionic%2Fjs%2Fionic.bundle.js%3A10478%3A12)

Что здесь происходит?!

  • 0
    комментарии CommunicationsB.js и my_app.commsb для показа, что представляет собой новый код, но когда я получаю сообщение об ошибке не комментируется, извините, если это было недоразумение
Теги:
model-view-controller
controller
ionic

4 ответа

0
Лучший ответ

Решено,

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

Я не знаю, кто и почему он предотвращал загрузку новых контроллеров или новых css на новую html-страницу, которую я добавил, вот что заставило меня задуматься об этом скрипте.

0

вы прокомментировали строку <!--<script src="js/controllers/c_communicationsB.js"></script>

в вашем примере кода, но сказали, что метод находится здесь.

  • 0
    да, это не комментируется, когда у меня есть ошибка, комментарии. вы можете увидеть в controllers.js также прокомментирован, я сделал так, чтобы объяснить, что код работал
0

Кажется, что ваше приложение не вызвано. Попробуйте обернуть приложение в IFFY.

(function () {
    var comms = angular.module('my_app.c_comms',[]);

    comms.controller('AppComms',['$scope',function($scope){
        //controller magic here
    }])

}());

Это функция самозвонок, поэтому ваше приложение будет вызвано само собой.

  • 0
    но все мои другие контроллеры не заключены в функцию IFFY, я предпочитаю не использовать их
  • 0
    Я пытался, и я получаю ту же ошибку.
0

//На контроллерах.js

angular.module('my_app',[
    //'ionic',
    'my_app.c_splash',
    'my_app.c_clock',
    'my_app.c_language',
    'my_app.c_comms',
    //'my_app.c_commsb',
    'pascalprecht.translate',
    'my_app.c_menu'
]);
  • 0
    Я вызываю my_app.controller из app.js, так что я не могу стереть контроллеры отсюда, я попытался, и он ничего не загружает, но без ошибок
  • 0
    Вы загружаете их в правильном порядке? Если вы еще не загрузили модуль, на который этот контроллер опирается в первую очередь, то он потерпит неудачу

Ещё вопросы

Сообщество Overcoder
Наверх
Меню