Инжектор Angularjs 1.6: сообщение об ошибке nomod в Internet Explorer 10 - PullRequest
0 голосов
/ 23 сентября 2019

Я использую AngularJs 1.6.4, когда я открываю свой сайт в Internet Explorer 10, отображается сообщение об ошибке:

[$ инжектор: nomod] http://errors.angularjs.org/1.6.4/$injector/nomod?p0=mYApp

И список фильмов не отображается.

В любом другом браузере, включая Microsoft Edge, Chrome или Firefox, список отображается как ожидается.

Как я могу отследить причину ошибки и исправить ее в Internet Explorer 10?

Мой контроллер начинает использовать этот синтаксис:

'use strict';

angular.module('appMovies', [])

   .controller('Movies', function ($scope, $http, $window, $timeout, $filter, factoryMovies) {

Ответы [ 2 ]

1 голос
/ 24 сентября 2019

Angular doc говорит: " Эта ошибка возникает, когда вы объявляете зависимость от модуля, который нигде не определен или не был загружен в текущем контексте браузера. "

Сейчасв вашем контроллере все зависимости, кроме " factoryMovies ", являются модулями angular.Так что нет вопросов о том, что они предварительно не загружены.Все $ scope, $ http, $ timeout и т. Д. Предварительно загружены в Angular.

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

1 голос
/ 24 сентября 2019
angular.module('appMovies', [])
.controller('Movies', 
   ['$scope', '$http', '$window', '$timeout', '$filter', 'factoryMovies',
     function($scope, $http, $window, $timeout, $filter, factoryMovies) {

Попробуйте это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...