【问题标题】:AngularJs Directive Template with ng-transclude cannot be compiled无法编译带有 ng-transclude 的 AngularJs 指令模板
【发布时间】:2013-07-20 08:13:21
【问题描述】:

我正在尝试创建两个指令。第一个指令将其他预定义的角度指令(ng-click 和 ng-class)附加到元素,然后对其进行编译以便它们工作。

第二个指令替换包含第一个指令的模板的元素。我使用 ng-transclude 将元素的内容转移到模板中。

问题在于,一旦添加了指令 2 中的模板,第一个指令就会尝试编译并抛出一个 wobbly:

"TypeError: undefined is not a function"

当模板中不存在 ng-transclude 时,指令 1 可以正常工作。我创建了一个 Plunk 来证明这一点:http://plnkr.co/edit/RdtjIy5XKOsqvh5VnwMr

有没有人可以帮忙指出我哪里出错了?

谢谢, 山姆

【问题讨论】:

  • 根据经验,为了在开发过程中出现更清晰的错误,请使用未压缩版本的库。在您的情况下,ngTranscludeDirective 中的错误是 Error: $transclude is not a function

标签: angularjs angularjs-directive


【解决方案1】:

经过进一步的试验和错误,我找到了解决方法,据我所知,没有副作用。

我只是从第二个指令中删除了 ng-transclude 属性。我在这里有一个更新的 Plunk:http://plnkr.co/edit/9QXkqzzyUy9VvMYC6fO6

【讨论】:

    猜你喜欢
    • 2015-05-04
    • 1970-01-01
    • 2018-01-09
    • 1970-01-01
    • 2016-12-04
    • 2014-10-26
    • 1970-01-01
    • 1970-01-01
    • 2015-02-15
    相关资源
    最近更新 更多