我有一段代码,可以通过点击按钮调用.
const lines = svg.select('lines').selectAll('line').data(arr);
lines.enter().append('line');
lines
.attr('x1', d => d)
.attr('y1', d => d)
.attr('x2', d => d+2)
.attr('y2', d => d+2)
.attr('stroke-width', 2);
Run Code Online (Sandbox Code Playgroud)
当我点击按钮时没有显示任何内容,但是第二次点击按钮时可以看到线条.
所以我尝试将.attr()链接到.append().像这样:
const lines = svg.select('lines').selectAll('line').data(arr);
lines.enter().append('line')
.attr('x1', d => d)
.attr('y1', d => d)
.attr('x2', d => d+2)
.attr('y2', d => d+2)
.attr('stroke-width', 2);
Run Code Online (Sandbox Code Playgroud)
这次在第一次点击按钮时可以看到线条.
我只是想知道这种行为背后的原因.