有關數據連接的快速問題。說我有一些元素,每個元素都包含一個。當我最初將數據加入到數據時,它會自動由我附加到輸入選擇的元素繼承。數據連接中的繼承
當數據發生變化,我重新綁定到我期待的元素會拿起新的數據,但這並沒有發生。
爲了解決這個問題,我需要在這樣的較低水平,明確重新綁定數據:
gElements.selectAll("circle")
.data(function(d) { return [d]; }
.enter().append("circle");
這既處理創建情況,並隨後重新綁定。但它似乎有點多餘,因爲返回[d]基本上是自動從父元素初始繼承數據時發生的。
這種方法是正確的方式來處理這個問題,或者我在這裏的某個地方感到困惑嗎?
是的,你說得對,我只有一個圈子每。我沒有意識到選擇導致數據繼承,但我在文檔中看到它實際上是這樣說的。 我覺得這有點違反直覺,因爲我一直認爲選擇作爲只讀操作的行爲,但是這種情況實際上會導致節點被修改。 –
2012-04-12 20:19:46