2013-02-14 1 views
1

Я разрабатываю приложение с несколькими данными, которое использует угловые.js и d3.js. Мне сложно включить в мою область < svg>.Шаблон директива, вызывающая другую директиву

Что происходит сейчас, так что директива ngTests загружается до того, как ngRepeat выполняет свои методы.

Я помещаю здесь скрипку, чтобы вы, ребята, могли лучше подумать.

jsfiddle

<ng-chart></ng-chart> 

PS: Я могу получить идентификатор TD на моей директиве ngTests, но он не обновляется на всех <td ng-tests id="histogram{{$index}}".

Если я изменю эту строку на <td ng-tests id="histogram">, используйте гистограмму как идентификатор в моей директиве и измените мою директиву ngTests только на «#histogram», она создает мой svg 6 раз в первой таблице моего ngRepeat, что не является результатом Я ожидаю.

спасибо.

+0

Вы получите ответ быстрее, если у вас будет работоспособная скрипка. Что касается этой проблемы - я полагаю, вам не нужно передавать идентификатор в директиву ngTests, вы можете использовать элемент [0] в качестве главной цели для d3. Выбрать –

ответ

0

Сделайте две вещи. В директиве ngChart у вас есть атрибут индекса, указанный как index="index", но он должен быть index="{{$index}}". Затем, чтобы прочитать значение атрибута из другой директивы, вместо того, чтобы получить доступ к атрибуту непосредственно, как attrs.index вы должны использовать attrs.$observe больше похоже на следующее:

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

Таким образом, если индекс изменяется (например, с помощью другой директивы) вы получаете уведомление и можете обновлять текст элемента. Я развернул скрипку и получил ее работу here.

 Смежные вопросы

  • Нет связанных вопросов^_^