В this example, где каждый ведет меня, то код писатель повторно asigns УАК link
и node
в методе start()
. Я не понимаю, почему. Поскольку оба snipets идентичны, я остановлюсь на одном:Почему я должен повторно Asign ссылки и узлов при обновлении макета d3.js силы
link = link.data(force.links(), function(d) { return d.source.id + "-" + d.target.id; });
link.enter().insert("line", ".node").attr("class", "link");
link.exit().remove();
Q 1: link
уже asigned в var link = svg.selectAll(".link");
означающего link
содержит все элементы DOM в svg
контейнер классифицирован .link
. Этот выбор может быть пустым в начале примера, но почему он повторно ссылается на все ссылки в силе?
Вопрос 2: Почему он возвращает d.source.id
и d.target.id
? Нужно ли идентифицировать ссылку?
Q 3: Другие манипуляции (например, добавить цвет к ссылке) будут выполнены следующим образом?
link.enter().insert("line", ".node").attr("class", "link").style("stroke", function(d) {
return d.color;
});