如何在AngularJS模板指令的链接函数中访问带动态id的svg元素?

时间:2014-10-27 11:14:44

标签: angularjs dom svg angularjs-directive angularjs-ng-repeat

我试图在ng-repeat循环中重用模板指令。我向下传递给指令一个id,然后在模板中使用如下:

<g id="scaling{{id}}">\
... 
</g>

这非常有效,它可以在最终的html页面中正确呈现。现在问题是我试图在指令的链接函数中使用动态设置的唯一id来选择上面的元素,如下所示,以便设置一些样式属性:

d3.select('#scaling' + scope.id}.

但是这总是返回null。通过搜索我已经理解的情况,这是因为当我进行此查询时元素不在DOM中。我该如何解决这个问题?非常感谢你提前!

1 个答案:

答案 0 :(得分:2)

所以我自己找到了解决方案。您可以在$ timeout函数中添加DOM选择查询,该函数仅在呈现DOM后才会被调用。