AngularJS – 动态创建指定指令的元素

前端之家收集整理的这篇文章主要介绍了AngularJS – 动态创建指定指令的元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个这样的设置:

>控制器c广播事件e
>指令d侦听e,并在e上通过append向DOM写入,并在这样做时创建指定指令d2的新元素。

IE:element.append(‘< directiveTwo ...>‘)

>指令二从不被Angular调用
>当我检查DOM(和调试)我看到Controller c和指令d正在做他们的工作,我有新的指令两个元素。

什么不见​​了?在动态创建这些元素后,需要做什么来触发directive 2调用

请参阅 $compile.您可以使用此服务与此类似:
var newDirective = angular.element('<div d2></div>');
element.append(newDirective);
$compile(newDirective)($scope);

这将执行您的新元素的编译和链接,并将d2设置为动作。

然而,如果你能以某种方式重写你的原始指令,就像ng-repeat或ng-include这样的内置指令将为你执行编译和链接,你可能会发现它更简单,更有角度。

如果你的指令很简单,它可以在听到你的事件时添加一个数组,并指定一个模板

<div ng-repeat="evt in recordedEvents">
    <div d2="evt"></div>
</div>
原文链接:https://www.f2er.com/angularjs/146097.html

猜你在找的Angularjs相关文章