模板指令调用另一个指令

时间:2013-02-14 19:49:51

标签: javascript angularjs d3.js angularjs-directive

我正在开发一个使用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次,这是不是我期待的结果。

谢谢。

1 个答案:

答案 0 :(得分:0)

做两件事。在ngChart指令中,您具有指定的index="index"索引属性,但它必须是index="{{$index}}"。然后,要从其他指令中读取属性值,而不是像attrs.index那样直接访问该属性,您应该使用attrs.$observe,如下所示:

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

这样当索引被更改时(例如通过另一个指令),您会收到通知并可以更新元素的文本。我把小提琴分开并让它运转here