2013-02-14 3 views
1

angular.js와 d3.js를 사용하는 다중 데이터 앱을 개발 중입니다. 내 범위에 < svg>를 포함시키는 데 어려움을 겪고 있습니다.다른 지시어를 호출하는 템플릿 지시문

현재 ngRepeat가 메서드를 실행하기 전에 ngTests 지시문이로드되고 있습니다.

나는 당신이 더 좋은 아이디어를 가질 수 있도록 여기에 바이올린을 넣고 있습니다.

jsfiddle

<ng-chart></ng-chart> 

PS : 내 ngTests 지침에 TD ID를 얻을 수 있지만, 모든 <td ng-tests id="histogram{{$index}}"에서 업데이트하지 않습니다.

이 줄을 <td ng-tests id="histogram">으로 변경하면 지시문에서 히스토그램을 ID로 사용하고 내 ngTests 지시문을 "#histogram"만 읽도록 변경하면 결과가 아닌 ngRepeat의 첫 번째 테이블에 svg가 6 번 생성됩니다 나는 기대하고있다.

감사합니다.

+0

당신이 일할 수있는 바이올린을 가지고 있다면 당신은 더 빨리 대답 할 수있을 것입니다.이 문제에 관해서 - 당신은 ngTests 지시어에 id를 전달할 필요가 없다고 가정합니다. 당신은 요소 [0]을 d3의 dom 타겟으로 사용할 수 있습니다. 고르다 –

답변

0

두 가지 작업을 수행하십시오. ngChart 지시문에서 index="index"과 같이 지정된 인덱스 속성이 있지만 index="{{$index}}"이어야합니다. 그런 다음, 대신 비슷한 제품을 더 attrs.$observe를 사용한다 attrs.index처럼 직접 속성에 액세스하는 다른 지침에서 속성 값을 읽어 다음

attrs.$observe('index', function(observedIndex) { 
     console.log('observedIndex:', observedIndex); 
    }); 

인덱스가 변경 될 때이 방법 (다른 지침에 의해 예) 당신은 통지를 받고 요소의 텍스트를 업데이트 할 수 있습니다. 나는 바이올린을 갈래서 작동 시켰습니다. here.

관련 문제