加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 插入$compile-d html

发布时间:2020-12-17 06:50:10 所属栏目:安全 来源:网络整理
导读:(请注意,您不需要知道这个数据表的数据.) 我正在创建一个处理DataTables的指令.我想要做的是有一个带有两个图标的操作列 – 编辑和删除.这些图标应响应ng-click. 数据表允许您通过为给定的列定义提供回调来实现此目的(mRender).此回调返回该单元格值的html字
(请注意,您不需要知道这个数据表的数据.)

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

数据表允许您通过为给定的列定义提供回调来实现此目的(mRender).此回调返回该单元格值的html字符串,该字符串将插入DOM而不是实际单元格值.

查看此plunker.突出显示了两个重要功能:

> renderActionIcon – 我上面提到的回调的实现.它会在单元格中生成我想要的HTML字符串.
> registerNewHtmlWithAngular – 我表面上让角度知道我需要为该列注册的ng-clicks的函数.

registerNewHtmlWithAngular应该怎么做?

如果$编译html,angular会添加相应的click事件侦听器并返回一个元素,但由于Datatables函数需要HTML,因此这些注册的元素不会添加到DOM中.

有任何想法吗?谢谢大家!

解决方法

经过一天的键盘敲击:

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

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

使用fnCreatedRow回调,数据表可以很容易地实现这一点,在渲染一行之后,回调行的元素并让你用它做任何你想做的事情.在这种情况下,我在行上运行$compile并将其返回给Datatables.请参阅更新的plunker中的rowCompiler函数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读