D3.js 方法链接命令在我拆分时不起作用,它起作用了
D3.js method chaining command dosn't work when I split it, it works
我是 D3.js 的新人,
当我使用这段代码时,它不起作用,(它是重绘的一部分,当 运行 第一次时它工作良好,当再次调用重绘时它工作意外)
var rows=tbody.selectAll('tr').data(roster);
rows.enter().append('tr');
rows.exit().remove();
rows.selectAll('td').data(function(row) { return columns.map(function(col) {
return row[col];
});}).enter().append('td').text(function(d) {return d;} );
当我将链分解成更小的链时,它就起作用了。
var rows=tbody.selectAll('tr').data(roster);
rows.enter().append('tr');
rows.exit().remove();
var cells = rows.selectAll("td")
.data(function(row) { return columns.map(function(col) {
return row[col];
});});
cells.enter().append("td");
cells.text(function(d) { return d; });
任何原因或任何规则都适用。
在第一种情况下,您只更新新单元格的文本,而不更新旧单元格。当您像这样链接 .enter()
时,以下所有链接的方法都适用于 .enter()
返回的对象,即输入选择:换句话说,添加的单元格。
阅读this
我是 D3.js 的新人, 当我使用这段代码时,它不起作用,(它是重绘的一部分,当 运行 第一次时它工作良好,当再次调用重绘时它工作意外)
var rows=tbody.selectAll('tr').data(roster);
rows.enter().append('tr');
rows.exit().remove();
rows.selectAll('td').data(function(row) { return columns.map(function(col) {
return row[col];
});}).enter().append('td').text(function(d) {return d;} );
当我将链分解成更小的链时,它就起作用了。
var rows=tbody.selectAll('tr').data(roster);
rows.enter().append('tr');
rows.exit().remove();
var cells = rows.selectAll("td")
.data(function(row) { return columns.map(function(col) {
return row[col];
});});
cells.enter().append("td");
cells.text(function(d) { return d; });
任何原因或任何规则都适用。
在第一种情况下,您只更新新单元格的文本,而不更新旧单元格。当您像这样链接 .enter()
时,以下所有链接的方法都适用于 .enter()
返回的对象,即输入选择:换句话说,添加的单元格。
阅读this