首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AngularJS -动态创建指定指令的元素

AngularJS -动态创建指定指令的元素
EN

Stack Overflow用户
提问于 2013-11-17 00:04:50
回答 1查看 87.4K关注 0票数 41

我有这样的设置:

  • 控制器c广播事件e
  • 指令d侦听e,并在e上通过追加写入DOM,并在此过程中创建指定指令d2的新元素。

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

  • 指令two从不被角调用
  • 当我检查DOM (和调试)时,我看到Controller c和指令d正在执行它们的工作,并且我有了新的directiveTwo元素。

少了什么?在动态创建这些元素之后,需要做些什么来触发指令2调用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-17 01:46:07

$compile。您可以类似地使用此服务:

代码语言:javascript
运行
复制
var newDirective = angular.element('<div d2></div>');
element.append(newDirective);
$compile(newDirective)($scope);

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

但是,如果您能够以其他内置指令(如ng-repeatng-include )的方式重写原始指令,您可能会发现它更简单、更有角度,这些指令将为您执行编译和链接。

如果您的指令足够简单,它只需在听到事件时按照添加到数组的方式执行一些操作,并指定一个模板,如

代码语言:javascript
运行
复制
<div ng-repeat="evt in recordedEvents">
    <div d2="evt"></div>
</div>
票数 92
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20025526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档