通过click事件将指令附加到DOM

时间:2016-07-21 13:01:50

标签: angularjs

我有一个奇怪的问题。我想点击添加指令到DOM元素。

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

ev.target来自鼠标点击的事件。当我检查代码时,指令就在那里,但从未调用过。如果我在<autocomplete></autocomplete>之外添加它,没有点击,一切正常。看起来好像没有看到它。

1 个答案:

答案 0 :(得分:1)

请参阅$compile here

  

将HTML字符串或DOM编译为模板并生成模板   函数,然后可用于链接范围和模板   在一起。

这将执行您插入的新元素的编译和链接,如上所示(将directiveTag设置为action)。

在类似的代码下面显示用法。

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