/ / ъглово инжектиране на $ елемент в контролер работи в повечето места, но не и в [дубликат] - angularjs, element

ъгловото инжектиране на елемент $ в контролер работи на повечето места, но не и един [дубликат] - ъгъл, елемент

инжектиране на $ scope и $ element в контролерработи в повечето места в моя проект, но в една го прави "т. Там не 'т изглежда да е някаква причина, че не трябва да работи в този случай. премахване, останалата част от контролера работи добре, но в този конкретен контролер, ако се инжектира, получавам следната грешка на конзолата: angular.js: 10072 [unknownService-unhandledError] Възникна необработена грешка: [$ injector: unpr] Неизвестен доставчик: $ elementProvider <- $ element

angular.module("app").controller(controllerId, ["$scope", "$element", "MyApp", controller]);

function controller($scope, $element, myApp) {

Посещавайки го, изглежда има няколко доклада за това, но няма реален отговор, мога да го заобиколя, просто искам да го разбера.

Отговори:

2 за отговор № 1

Най- $compile услуга инжектира $element в контролери като местен, ngRoute не.

От $compile Документи:

контрольор

Функция на конструктора на контролера. Контролерът е инстанциран преди фазата на предварителното свързване и може да бъде достъпен от други директиви (виж атрибута require). Това позволява на директивите да комуникират помежду си и да увеличават поведението си. след местните жители:

  • $scope - Текущ обхват, свързан с елемента
  • $element - Текущ елемент
  • $attrs - Текущи атрибути обект за елемента
  • $transclude - функция за свързване, която е свързана предварително с правилния обхват на включване:

-- AngularJS Пълнофункционален API - контролер

От ngRoute Документи:

locals

Карта на местните жители, която се използва от $ контролер услуга за инстанциране на контролер. Най- locals съдържа разрешените стойности на resolve карта. Освен това locals съдържа също:

  • $scope - Текущият обхват на маршрута.
  • $template - HTML шаблона на текущия маршрут.

Най- locals ще бъде присвоен на обхвата на маршрута "s $resolve Имот. Можете да замените името на собствеността, използвайки resolveAs в определението на маршрута. виждам $ routeProvider за повече информация.

-- AngularJS ngRoute $ route API Справочник