Почему зависимость 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) {

Вы объявляете все свои зависимости приложений здесь.

Другие вопросы по тегам