【问题标题】:Nested directive element doesn't compile嵌套指令元素无法编译
【发布时间】:2013-01-10 02:14:56
【问题描述】:

我正在寻找有关嵌套 AngularJS 指令的帮助:

http://jsfiddle.net/vankirkc/ezN3M/28/

例如,我定义了一组自定义指令元素,包括容器和项目。我是这样安排的:

<container>
  <item />
  <item />
  <item />
</container>

然后定义每一个。您可以从附加的 jsFiddle 中看到,没有为嵌套项调用编译函数,但是当项元素​​被移出容器时,它们是(表明编译函数本身没有问题。

为什么嵌套指令不触发编译事件?

这大致基于 Angular 主页上的这个示例:

http://jsfiddle.net/vankirkc/HpHeW/

我无法弄清楚为什么他们的孩子能正确解析而我的却没有。

【问题讨论】:

    标签: angularjs directive


    【解决方案1】:

    当您使用嵌入时,您必须将ng-transclude 指令添加到您的模板元素之一。如果您将group 指令的模板更改为:

    template: '<div ng-transclude></div>',
    

    一切都会好起来的。

    PS:你的指令声明语法对于你正在做的事情来说过于冗长,但它在技术上是正确的。

    【讨论】:

    • 谢谢乔希,这很奏效。至于指令定义的详细程度,我对 AngularJS 还很陌生,所以我将所有内容都包括在内,直到我掌握了可用的内容及其所有含义。
    猜你喜欢
    • 2013-05-22
    • 2016-01-13
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 1970-01-01
    • 1970-01-01
    • 2014-08-20
    • 1970-01-01
    相关资源
    最近更新 更多