2014-11-15 2 views
0

Я получаю с ума, чтобы этот кусок кода работы:Использование nvd3 в пользовательской директивы

У меня есть несколько карт, чтобы показать, с различными данными, и я создал единую директиву, чтобы показать эти графики.

Это main.html:

<div ng-controller="data in server.data"> 
    <chart data="data.values" diff="getDifference(data.values)"></chart> 

Моя директива:

return { 
     templateUrl: '/views/chart.html', 
     restrict: 'E', 
     scope: { 
     data: '=data', 
     diff: '&' 
     } 
    }; 

Мой шаблон диаграммы:

<nvd3 options="pieOptions" data="{{data}}"></nvd3> 
<div class="test-passed-percentage"> 
    <p>{{diff(data)}}%<span>tests passed</span></p> 
</div> 

Если я закомментировать директиву nvd3 она отлично работает. Но очевидно, что мне это нужно ...

В журнале консоли У меня есть эта ошибка:

Ошибка: [$ синтаксического анализа: синтаксис] Ошибка синтаксиса: лексема «данные» неожиданно, ожидая [:] в колонке 3 выражения [{{data}}], начиная с [data}}].

Как включить директиву nvd3 в свой шаблон?

+0

'Ничего работу ...', что именно не работает? вы получили какие-либо Исключения? –

+0

как примечание стороны: 'getDifference' Я бы написал обычный servie/factory –

+0

1. Является ли ваше название директивы действительно« результатом », а не« результатами »? 2. Это не так, как мы передаем аргумент функции, полученной методом '&'. – Blackhole

ответ

0

попробовать это:

<p>{{diff()}}%<span>tests passed</span></p> 

или это:

<p>{{diff({ data: data })}}%<span>tests passed</span></p> 
+0

Спасибо за ваш ответ. Ошибка вызвана директивой 'nvd3'. –

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