2013-06-06 6 views
1

지시어를 프로그래밍 방식으로 인스턴스화하는 방법을 알아내는 데 문제가 있습니다. 예를 들어, tabbed panels 예에서 상위 탭 지시문에 "새 탭 추가"기능이 있어야한다고 가정합니다. tabs 지시문은 새로운 pane 지시문을 인스턴스화하고 DOM에 추가해야합니까?AngularJS에서 자식 지시어 인스턴스화

답변

3

표시 할 창 목록을 포함하는 범위 변수가 있고 ng-repeat 안에 단일 창에 대한 HTML을 넣고 "새 탭 추가"기능을 사용하여 다른 개체를 창 목록에 추가하면됩니다. Angular의 양방향 바인딩은 목록을 업데이트 할 때 ng-repeat 안에 업데이트 된 DOM 요소 목록을 갖습니다.

+0

명확히하려면 -이 창 목록은 무엇입니까? $ scope.panes 목록이 이미 tabs 지시어에 있습니까 (해당 지시어는 pane 지시문 범위의 인스턴스입니까?)? 그렇다면이 인스턴스 중 하나를 인스턴스화하는 방법은 무엇입니까? –

+0

예를 들어 탭 템플릿에는'ng-click = "addNewPane()'을 사용하여 탭 템플릿 템플릿에 탭을 추가 할 수 있습니다. 탭 지시문 자체는 새로운 창 객체를 생성하고 푸시하는'$ scope.addNewPane' 함수를 지정합니다 $ scope.panes에 저장됩니다. – Raibaz

+0

현재 $ scope.panes에 저장된 것과 같은 "새 창 개체"를 어떻게 직접 인스턴스화합니까? pane 지시문의 $ scope 인스턴스와 비슷합니다 ... –