2013-01-18 2 views
1

나는 angularjs 및 페이지의 동적 콘텐츠를 가지고 놀고 있습니다. 문제는 서버에서 가져온 여러 다른 객체의 표현을 표시해야하기 때문에 페이지에 템플릿이 없어야한다는 것입니다.동적 콘텐츠 및 AngularS

현재 바디 요소의 내용을 보면서 변경 내용을 확인한 다음 본문의 전체 내용을 컴파일합니다. 그것은 작동합니다. 그러나 나는 필요한 것을 할 수있는 더 좋은 방법이 있다는 느낌을 가지고 있습니다.

다시 말하지만 기본적으로 개체의 JSON 표현을 가져 와서 HTML 표현을 작성하고 본문에 추가합니다. 그런 다음 화재를보고 몸의 내용을 컴파일합니다.

아이디어가 있으십니까?

+0

노력하고있는 것을 보여줄 수 있습니까? 아마도 바이올린이나 plnkr.co? –

답변

2

좋아, 알았다. 광범위한 인터넷 검색이 항상 도움이됩니다.

이렇게하는 더 좋은 방법이 있습니다. 먼저 추가 할 targetElement를 결정한 다음 추가 할 html을 만듭니다.

그런 다음

var element = angular.element(targetElement); 
var scope = element.scope(); 
var injector = element.injector(); 
var compile = injector.get('$compile'); 

compile(html)(scope).appendTo(targetElement); 

이것이 기본적인 것들이지만, 난 그냥 AngularJS와 프레임 워크를 배우고 될 수 있습니다.

+0

$ 컴파일 서비스를 받으려면 인젝터를 사용할 필요가 없습니다. 함수에 종속성 삽입을 사용하여 $ 컴파일 서비스를 삽입 할 수 있어야합니다. 지시문을 사용하면 angular.element()를 호출 할 필요가 없습니다. 컴파일 함수로 지시문을 작성하면 $ compile()을 호출 할 필요가 없습니다. 어떤 것도 컴파일하지 않아도됩니다 (수동 또는 지시문을 통해). 일부 코드를 게시하려면 더 나은 솔루션을 제공 할 수 있습니다. –