2014-02-13 3 views
2

2009 년부터 사용중인 일부 jQuery 컨트롤을 통해 동적으로 삽입하는 AngularJS 지시문이있는 HTML 줄이 있습니다.이 컨트롤을 변경할 수 없습니다. 그러나, 나는 각도 JS를 사용하기 시작하고 싶다.AngularJS 및 동적 HTML

그리드, 열 평가에 대한 생성 된 HTML은 다음과 같습니다

<div star-rating rating-value="1005" max="5"> </div> 

내가 원하는이 HTML 컴파일받을 것입니다.

현재 AngularJS는이 동적으로 생성 된 HTML을 볼 수 없습니다.

내가 생각할 수있는 유일한 방법은 각 jQuery 삽입 (자바 스크립트 함수를 사용할 수있는 Grid 컨트롤)에 대한 자바 스크립트 함수를 호출하는 것입니다.

fnCompileDynamicHTML('<div star-rating rating-value=23 max=5></div>) 

그리고 기능 : here 언급 무엇

fnCompileDynamicHTML(html) { 
    return $compile(html)($scope) // or something? 
} 

나는 따랐다. 그러나 내 응용 프로그램에 대해 불평하고 있습니다 :

App Already Bootstrapped with this Element. 

글쎄 그것은 새로운 개체 및 새로운 내부 HTML 때문이 아닙니다.

이 내가 100의 루프에있는 것입니다 :

evt.row.cells[glbCandidateListColumnIndex.rank].innerHTML = '<div star-rating rating-value="' + rank + '" ></div>'; 
fnCompileDynamicAngularJS(evt.row.cells[glbCandidateListColumnIndex.rank]); 

이 도와주세요.

+0

누구나, 제발!? – codebased

+0

누구든지, 제발? – codebased

+0

'evt.row.cells [glbCandidateListColumnIndix.rank] .appendChild (fnCompileDynamicAngularJS ('

'));'? '$ compile (html) (scope)'를 호출하면 적절한 장소에'append '해야만하는'$ element'가 반환됩니다. 반환 된'$ element'에서'.node()'를 호출하여 DOM 요소를 가져와야 할 수도 있습니다. –

답변

0
angular.bootstrap (documented here) 전화 당신이 완료 외국인 라이브러리로 DOM 편집 후 Angular.js를로드해야 하나

, 또는 수동으로 (열심히!)

을 특정 DOM 노드의 편집을 강제 할 수 예 :

angular.module('myApp', []).directive('myDirective', function() {}); 
angular.bootstrap(document.body, ['myApp']); 

이미 작동해야합니다.