首页 > angular如何获取一段html代码赋值到另一个地方,html里面的ng-click事件还要能生效?

angular如何获取一段html代码赋值到另一个地方,html里面的ng-click事件还要能生效?

我要使用一个ng-click点击获取一段html,这个html里面还有个ng-click事件,我用js找到这段html然后赋值到一个弹层里面,这个html的ng-click事件就无效了,怎么整?
$scope.readmore_maincomment = function(event){

    var html = $(event.target).parent(".subcomments").prev().html();           
        $(".subcomments_detail").find(".subcomment_con").html(html);

};

代码是简写的,就是这样获取的内容,可能方法用错了,把angular与jQuery混用了,谁能告诉我怎么获取这个html内容,然后html里的ng-click还要能生效


angularjs的思想应该尽量避免对dom的操作,你的需求应该通过其他的方式实现,通过数据的绑定达到你的目标,或者你可以使用ng-template来做。


angular在启动初期会遍历dom,找出所有在html里绑定的directive进行compile和link后,类似`v-click`这样的指令才会在所在的dom元素上绑定响应事件。如果直接将html字符串插入到dom中angular是没有机会解析这串html里的指令。为了解决这一问题,angular内置的$compile service.

Usage:

  1. inject $compile service

  2. $compile(htmlstring or domelement)(scope)

  3. 如果compile htmlstring 最后在将link后的返回插入到dom中

官网文档:

https://docs.angularjs.org/api/ng/service/$compile


dom的操作都是在 指令里面的,你要将你当前要操作的dom结构写成指令 ,然后link函数中的参数中有ele可以供你操作,你想要复制的那段html有ngclick 也不会有影响的 一样能在复制之后能生效 。

【热门文章】
【热门文章】