【问题标题】:Does the transclude function in the ngRepeat directive's linking function not include data and events in its clone?ngRepeat 指令的链接函数中的 transclude 函数是否在其克隆中不包含数据和事件?
【发布时间】:2014-03-05 14:52:40
【问题描述】:

我尝试将我们正在使用的插件包装在指令中。这运作良好。然后我们尝试在 ngRepeat 中使用指令包装器。插件突然停止工作。在逐步完成插件代码之后,问题似乎在于插件依赖于将数据粘贴到元素中并稍后检索它。

在我记录了结果之后

$(element).data();

对于出现在中继器中和中继器外部的两个元素,区别在于中继器内部的元素没有数据,而外部的元素仍然有数据。我看到 transclude 函数传入了一个克隆。我在 JQuery 文档中读到默认情况下不会复制数据和事件。但我无法找到 angular.js 是使用自己的克隆方法还是 JQuery 方法,以及它是否实际上是在克隆数据和事件。

【问题讨论】:

    标签: jquery angularjs angularjs-directive angularjs-ng-repeat


    【解决方案1】:

    这可能与具有自己作用域的 ng-repeat 元素有关吗?看http://docs.angularjs.org/api/ng/directive/ngRepeat

    【讨论】:

    • 不,这与 ngRepeat 拥有自己的范围无关,我知道这一点。就像我说的,问题是数据(JQuery.data())和事件没有复制到克隆中。我正在寻找确认
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    相关资源
    最近更新 更多