Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript d3从角度选择_Javascript_Angularjs_D3.js_Svg - Fatal编程技术网

Javascript d3从角度选择

Javascript d3从角度选择,javascript,angularjs,d3.js,svg,Javascript,Angularjs,D3.js,Svg,我在angular 1.x中有一个指令,其中我建立了d3饼图。我想在其中添加一些文本,因此在链接函数中我写道: var svg = d3.select(element).selectAll('svg'); var donut = svg.selectAll('g.nv-slice').filter( function (d, i) { return

我在angular 1.x中有一个指令,其中我建立了d3饼图。我想在其中添加一些文本,因此在链接函数中我写道:

 var svg = d3.select(element).selectAll('svg');
 var donut = svg.selectAll('g.nv-slice').filter(
                                    function (d, i) {
                                    return i == 0;
                                }
                            );
 donut.insert('text', 'g')
      .text('Line One')
      .attr('class', 'middle')
      .attr('text-anchor', 'middle')
      .attr('dy', '-.55em')
      .style('fill', '#000');
但是我得到了一个错误:uncaughttypeerror:n.querySelectorAll不是一个函数 如果将svg设置为
var svg=d3,则不会出现这种错误,但我希望d3仅从当前指令元素中选择


Fiddle:

我通过使用
var selection=d3.selectAll($element)解决了我的问题


此控制台在链接中起什么作用
var svg=d3.select(元素).selectAll('svg');console.log(svg.node())
另一个问题是为什么
selectAll
您可能只有一个svg
var svg=d3.select(element)。select('svg')
请澄清
console.log(svg.node())
没有效果,因为代码在前一行失败。我尝试了
var svg=d3.select(element).select('svg')
,但结果是相同的,如果你能提供一把小提琴就更好了。如果你把它放在链接函数的第一行,这个打印什么?问题是我希望d3选择svg,而不是从文档中,而是从指令elementconsole.log(d3.select(element.node()):
[idea-chart-view.query-component\uuuu widget.ng-scope.ng-isolate-scope,上下文:idea-chart-view.query-component\uuuuu widget.ng-scope.ng-isolate-scope]