gpt4 book ai didi

angularjs - 插入 $compile-d html

转载 作者:行者123 更新时间:2023-12-04 17:23:46 24 4
gpt4 key购买 nike

(请注意,您不需要了解有关此数据表的信息..)

我正在创建一个指令来处理 DataTables 。我想要做的是有一个带有两个图标的操作列 - 编辑和删除。这些图标应该响应 ng-click。

数据表允许您通过为给定的列定义( mRender )提供回调来做到这一点。此回调为该单元格值返回一个 html 字符串 ,它被插入到 DOM 而不是实际的单元格值。

检查这个 plunker 。突出显示了两个重要功能:

  • renderActionIcon - 我上面提到的回调的实现。它在单元格中生成我想要的 HTML 字符串。
  • registerNewHtmlWithAngular - 我表面上让 angular 知道我需要为该列注册的 ng-clicks 的函数。
  • registerNewHtmlWithAngular 中应该包含什么?

    如果 $compile html,angular 会添加适当的单击事件监听器并返回一个元素,但由于 Datatables 函数需要 HTML,因此不会将那些已注册的元素添加到 DOM。

    有任何想法吗?谢谢各位!

    最佳答案

    经过一天的敲键盘:

    似乎没有办法将 $compile 编译成 html 并让它在 DOM 中可用。它必须是插入到 DOM 中的元素,以便事件监听器不会丢失。

    我在这个特定场景中解决问题的方法是插入 HTML,然后在新的 HTML 上运行 $compile。

    数据表使用 fnCreatedRow 使这一切变得容易回调,在渲染一行之后,它会传回一行的 Element 并让你对它做任何你想做的事情。在这种情况下,我在该行上运行 $compile 并将其返回给 Datatables。查看 rowCompiler更新中的函数plunker .

    关于angularjs - 插入 $compile-d html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14737795/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com