我有这样的设置:
c
广播事件e
d
侦听e
,然后e
通过append将其写入DOM,并以此创建指定指令的新元素d2
。 IE浏览器: element.append('<directiveTwo ...>')
two
Angular从未调用过指令c
和指令d
正在执行其工作,并且有新的directiveTwo
元素。什么不见了?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>
问题内容: 我创建了以下AngularJS指令来嵌入YouTube视频: 从模板调用它时,出现以下错误: 错误:[$ interpolate:noconcat]插值时出错:http : //www.youtube.com/embed/ {{code}}严格的上下文转义不允许在需要可信值时连接多个表达式的插值。参见http://docs.angularjs.org/api/ng。$ sce 我无法确
问题内容: 我正在尝试根据范围值使用不同的模板进行指令。 这是我到目前为止所做的,我不知道为什么它不起作用http://jsbin.com/mibeyotu/1/edit HTML元素: 指示: 问题答案: 1)您正在将内容作为属性传递到html中。试试这个: 代替: 2)指令的数据部分正在被编译,因此您应该使用其他东西。代替数据类型,例如datan-type。 链接在这里: http://jsb
问题内容: 如何使用动态模板创建指令? 这就是我现在所拥有的,它可以正确显示标签。但是,我不确定如何在模板上附加其他HTML。或将2个模板合并为1个。 问题答案: 有类似的需求。做这份工作。(不完全确定这是否是“ THE”方法,仍然可以通过角度进行工作) http://jsbin.com/ebuhuv/7/edit-我的探索测试。 需要注意的一件事(以我的示例为例),我的要求之一是,一旦单击“保存
问题内容: 确实为此感到挣扎-尝试了我能想到的所有方法。希望有人可以提供帮助。 我有一条指令可以为我创建自定义控件的轮廓。定制控件的中心部分将由另一个动态生成的指令表示,该指令基于外部指令上的作用域变量的值。作用域变量包含内部指令的名称。我这样做是因为我的页面将包含多个动态生成的元素,这些元素均具有相同的布局,但内部内容不同。 即我的外部指令的示例: 设置为另一个指令的名称-在这种情况下。因此,我
问题内容: 我正在尝试创建一个指令,该指令将创建与创建指令的元素具有相同ng-model的输入字段。 到目前为止,这是我想到的: 的HTML 的JavaScript 但是,我不确定这是处理这种情况的正确方法,并且存在一个错误,即我的控件未使用ng-model target字段的值初始化。 这是上面代码的简称:http ://plnkr.co/edit/IvrDbJ 处理此问题的正确方法是什么? 编
问题内容: 所以我要创建一个简单的指令“ hover”,这是一个基本的导航菜单,当您将鼠标移到特定的aba上时,此aba会改变颜色。看我的脚本代码: 现在我的HTML: 这工作正常,但是当我以这种方式放置html时: 这是行不通的,我必须用“ hover”标签包裹我的“ li”才能完成这项工作(是的,我正在将strict属性更改为“ A”),为什么呢?还有另一个问题,用“ hover”标签包装我的