У меня странная проблема. Я пытаюсь сделать это, нажав кнопку add директива для элемента DOM.
var input = document.createElement("autocomplete");
angular.element(ev.target).append(input);
Где ev.target
- событие с щелчка мыши. Когда я проверяю код, директива там, но никогда не звонила. Если я добавляю его как <autocomplete></autocomplete>
, без щелчка, все работает. Похоже, угловатые не видят.
См. $compile
здесь.
Компилирует HTML-строку или DOM в шаблон и создает функцию шаблона, которая затем может использоваться для связывания области и шаблона вместе.
Это выполнит компиляцию и привязку вашего нового элемента, который вы вставляете, как показано выше (установите директивуTag в действие).
Под аналогичной частью кода показано использование.
var newDirective = angular.element('<div directive-tag></div>');
element.append(newDirective);
$compile(newDirective)($scope);
$compile
а затем добавить его в DOM? в настоящее время вы не скомпилировали его, директива не инициализирована ..