Неперехваченная ошибка: [$injector:unpr] для ngMaterial

У меня проблема с ngMaterial при включении его в проект, а затем отображается ошибка Uncaught Error: [$injector:unpr] Мой файл app.js выглядит так

angular
        .module('app', ['ui.router','ngMaterial','objectTable'])
        .config(config)
        .run(run);

и ввиду того, что я включил файлы в таком порядке

<!-- external scripts -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-animate.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-aria.min.js"></script>

<script src="https://ajax.googleapis.com/ajax/libs/angular_material/0.11.2/angular-material.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.15/angular-ui-router.min.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<!-- bower plugins -->
<script type="text/javascript" src="app-content/scripts/object-table.js"></script>

<!-- application scripts -->
<script src="app.js"></script>
<script src="app-services/user.service.js"></script>
<script src="app-services/flash.service.js"></script>
<script src="home/index.controller.js"></script>
<script src="account/index.controller.js"></script>

Может ли кто-нибудь помочь мне решить эту проблему? Я пытался изменить порядок файлов, но проблема та же.


person anagha affinity    schedule 14.03.2016    source источник
comment
angular-material.js ссылки на файлы загружены до app.js   -  person Pankaj Parkar    schedule 14.03.2016
comment
я думаю, вы должны разместить сценарии материалов angular над сценариями приложений, чтобы они работали.   -  person harshk17    schedule 14.03.2016
comment
Пожалуйста, смотрите отредактированный вопрос, но все еще есть ошибка для вышеуказанного заказа   -  person anagha affinity    schedule 14.03.2016


Ответы (2)


Это должно быть так.

   <!-- Angular Material Dependencies -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-animate.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-aria.min.js"></script>


<script src="https://ajax.googleapis.com/ajax/libs/angular_material/0.11.2/angular-material.min.js"></script>

Импортируйте angular-animate и angular-aria перед angular-material.

см. этот код. включи angular-animate импорт и посмотри разницу.

http://codepen.io/next1/pen/NNRMeQ

person nextt1    schedule 14.03.2016
comment
Пожалуйста, смотрите отредактированный вопрос, но все еще есть ошибка для вышеуказанного заказа - person anagha affinity; 14.03.2016
comment
angular.min.js angular-animate.min.js и angular-aria.min.js должны быть одной версии. В вашем коде их нет. - person nextt1; 14.03.2016
comment
Вы можете использовать библиотеку материалов angular версии 1.1.0, так как в ней будет больше возможностей. - person nextt1; 14.03.2016

Для потомков: я установил с помощью Visual Studio и NuGET. Сначала я установил свой пакет angularjs.core (только файл angular). Это была версия 1.5.8. Затем я установил угловой материал. Это было установлено в версии 1.1.3. Чего я сначала не заметил, так это того, что когда iu установил угловой материал, он включил свою собственную версию углового.

Дело в том, что я использовал свой первый установленный «angularjs.core» для более высокой версии (я думаю, это было проблемой). Затем я переключился на использование угловой версии, поставляемой с пакетом материалов NuGet. Потом все заработало.

person Brian Hvarregaard    schedule 02.04.2017