Добавить директиву в DOM по событию click

0

У меня странная проблема. Я пытаюсь сделать это, нажав кнопку add директива для элемента DOM.

var input = document.createElement("autocomplete");
angular.element(ev.target).append(input);

Где ev.target - событие с щелчка мыши. Когда я проверяю код, директива там, но никогда не звонила. Если я добавляю его как <autocomplete></autocomplete>, без щелчка, все работает. Похоже, угловатые не видят.

  • 0
    Это не странно. вам нужно скомпилировать DOM после добавления директивы, используя $ compile.
  • 0
    вам нужно скомпилировать этот элемент, используя $compile а затем добавить его в DOM? в настоящее время вы не скомпилировали его, директива не инициализирована ..
Теги:

1 ответ

1
Лучший ответ

См. $compile здесь.

Компилирует HTML-строку или DOM в шаблон и создает функцию шаблона, которая затем может использоваться для связывания области и шаблона вместе.

Это выполнит компиляцию и привязку вашего нового элемента, который вы вставляете, как показано выше (установите директивуTag в действие).

Под аналогичной частью кода показано использование.

var newDirective = angular.element('<div directive-tag></div>');
element.append(newDirective);
$compile(newDirective)($scope);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню