如何使Angular Directive模板包装内容(指令元素的子元素)

时间:2015-02-19 18:20:14

标签: javascript angularjs

我已经google了一下,我找不到任何详细说明如何动态包装内容的Angular指令(例如http://demos.telerik.com/kendo-ui/panelbar/angular)。我对翻译并不是很熟悉,但我的理解是它更多地与Angular范围如何组合在一起而不是HTML如何组合在一起。

在编译步骤中进行大量DOM操作的最佳方法是什么?或者是否有某种方法可以使用模板函数来完成它?

编辑:举个例子,我想要这个:

<directive>
    <div id="firstChild"></div>
    <div id="secondChild"></div>
</directive>

编译为:

<directive>
    <div id="firstTemplateElement">
        <div id="firstChild"></div>
    </div>
    <div id="secondTemplateElement>
        <div id="secondChild"></div>
    </div>
</directive>

1 个答案:

答案 0 :(得分:1)

你可以做很多dom操作,但你想要做的是为指令内的每个项目提供一个新模板。没理由你也不能使每个项目成为一个指令。

<directive>
    <directive-item id="firstChild"></directive-item>
    <directive-item id="secondChild"></directive-item>
</directive>

汇编为:

<directive>
    <directive-item id="firstTemplateElement">
        <div id="firstChild"></div>
    </directive-item>
    <directive-item id="secondTemplateElement>
        <div id="secondChild"></div>
    </directive-item>
</directive>