我要使用一个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还要能生效
为情所困2017-05-15 16:58:19
Angular는 시작 시 DOM을 탐색하고 html로 바인딩된 모든 지시문을 찾아 컴파일하고 링크한 다음 `v-click`과 같은 명령이 응답 이벤트를 해당 DOM 요소에 바인딩합니다. HTML 문자열을 DOM에 직접 삽입하면 Angular는 이 HTML 문자열의 지침을 구문 분석할 기회가 없습니다. 이 문제를 해결하기 위해 Angle에 내장된 $compile 서비스가 있습니다.
사용법:
$compile 서비스 주입
$compile(htmlstring 또는 domelement)(범위)
htmlstring을 컴파일하면 마지막으로 링크 뒤의 return을 dom에 삽입합니다
$compile()은 템플릿을 범위에 바인딩하는 링크 함수를 반환합니다
공식 웹사이트 문서:
https://docs.angularjs.org/api/ng/service/$compile
仅有的幸福2017-05-15 16:58:19
angularjs의 아이디어는 DOM 운영을 피하려고 노력해야 합니다. 귀하의 요구 사항은 다른 방법을 통해 실현되어야 하며, 귀하의 목표는 데이터 바인딩을 통해 달성되거나 이를 위해 ng-template을 사용할 수 있습니다.
过去多啦不再A梦2017-05-15 16:58:19
DOM의 작업은 모두 명령어에 있습니다. 현재 작동하려는 DOM 구조를 명령어로 작성해야 하며, 복사하려는 HTML의 매개변수에 요소가 있습니다. ngclick.복사 후에도 동일하게 적용됩니다.