我正在开发一个使用angular.js和d3.js的多数据应用程序。我很难将< svg>包括在内进入我的范围。
现在发生的事情是在ngRepeat执行它的方法之前加载指令ngTests。
我把小提琴放在这里,这样你们就可以有更好的主意了。
<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 :(得分:0)
做两件事。在ngChart指令中,您具有指定的index="index"
索引属性,但它必须是index="{{$index}}"
。然后,要从其他指令中读取属性值,而不是像attrs.index
那样直接访问该属性,您应该使用attrs.$observe
,如下所示:
attrs.$observe('index', function(observedIndex) {
console.log('observedIndex:', observedIndex);
});
这样当索引被更改时(例如通过另一个指令),您会收到通知并可以更新元素的文本。我把小提琴分开并让它运转here。