찾다

 >  Q&A  >  본문

angular.js - 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还要能生效

淡淡烟草味淡淡烟草味2745일 전657

모든 응답(3)나는 대답할 것이다

  • 为情所困

    为情所困2017-05-15 16:58:19

    Angular는 시작 시 DOM을 탐색하고 html로 바인딩된 모든 지시문을 찾아 컴파일하고 링크한 다음 `v-click`과 같은 명령이 응답 이벤트를 해당 DOM 요소에 바인딩합니다. HTML 문자열을 DOM에 직접 삽입하면 Angular는 이 HTML 문자열의 지침을 구문 분석할 기회가 없습니다. 이 문제를 해결하기 위해 Angle에 내장된 $compile 서비스가 있습니다.

    사용법:

    1. $compile 서비스 주입

    2. $compile(htmlstring 또는 domelement)(범위)

    3. htmlstring을 컴파일하면 마지막으로 링크 뒤의 return을 dom에 삽입합니다

    • $compile()은 템플릿을 범위에 바인딩하는 링크 함수를 반환합니다

    공식 웹사이트 문서:

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

    회신하다
    0
  • 仅有的幸福

    仅有的幸福2017-05-15 16:58:19

    angularjs의 아이디어는 DOM 운영을 피하려고 노력해야 합니다. 귀하의 요구 사항은 다른 방법을 통해 실현되어야 하며, 귀하의 목표는 데이터 바인딩을 통해 달성되거나 이를 위해 ng-template을 사용할 수 있습니다.

    회신하다
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-15 16:58:19

    DOM의 작업은 모두 명령어에 있습니다. 현재 작동하려는 DOM 구조를 명령어로 작성해야 하며, 복사하려는 HTML의 매개변수에 요소가 있습니다. ngclick.복사 후에도 동일하게 적용됩니다.

    회신하다
    0
  • 취소회신하다