Почему зависимость ngSanitize нарушает мое приложение?
Для кого это может касаться,
В попытке связать некоторый html, который, к сведению, будет включать угловые директивы, после введения зависимости ngSanitize мое приложение перестает отображаться. Любые мысли о том, почему это происходит, и есть ли в моем коде какие-либо явные проблемы?
TLDR: все работает нормально, пока на картинке не появится ngSanitize!
Рабочий контроллер:
angular.module('appName')
.controller('DecksCtrl', function ($scope, Auth, $http) {. . .
Сломанный контроллер:
angular.module('appName', ['ngSanitize'])
.controller('DecksCtrl', function ($scope, Auth, $http) {. . .
Ошибки консоли:
Uncaught Error: [$injector:modulerr] Failed to instantiate module appName due to: Error: [$injector:unpr] Unknown provider: $stateProvider
Спасибо
Питер Уорд
2 ответа
Ваша проблема заключается в неправильном понимании разницы между модулем declaration
и reference
в существующий модуль.
Для объявления модуля есть 2 аргумента: имя и массив зависимостей.
angular.module('appName', [/* all the dependencies for this module*/]);
Затем, когда вы добавляете компоненты, вы используете метод получения ссылки на модуль, который не имеет второго аргумента зависимости. Этот метод получения возвращает объект модуля для объединения компонентов в
angular.module('appName')
.controller('DecksCtrl', function ($scope, Auth, $http) {. . .
Что вы сделали, так это попытались ввести зависимость в модуль получения ссылок на модули. это в свою очередь переписал оригинальную декларацию для этого модуля
Вы хотите ввести его в свой app.js
, В этом йоменском генераторе его - appName / client / app / app.js
angular.module('yourapp', [
//your injections here
'ngSanitize',
'other injection',
'another injection'
]).config(function ($routeProvider, $locationProvider, $httpProvider) {
Вы объявляете все свои зависимости приложений здесь.