我有这样的设置:
c广播事件ed侦听e,并在e上通过追加写入DOM,并在此过程中创建指定指令d2的新元素。IE:element.append('<directiveTwo ...>')
two从不被角调用c和指令d正在执行它们的工作,并且我有了新的directiveTwo元素。少了什么?在动态创建这些元素之后,需要做些什么来触发指令2调用?
发布于 2013-11-17 01:46:07
见$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://stackoverflow.com/questions/20025526
复制相似问题