Лучший способ перепривязать данные в d3.js

Я использую библиотеку d3.js для генерации содержимое на основе данных

Вот упрощенный пример.

data_arr = [0,1,2,3,4];
d3.select("#mylist").selectAll('li').data(data_arr).enter().append("li").html(
    function(d)
    {
        var element = document.createElement('div');
        element.innerHTML = '<div id="innerDiv">' + d + '</div>';
        return element.innerHTML;
   });

Если я изменю свой массив, например, новые данные будут [5,3]. Как лучше всего перепривязать и показать новый HTML? нужно снова вызывать одно и то же предложение или это лучше?

Рассмотрим случай более сложной структуры данных. то есть

data_arr = [obj1, obj2, obj3, obj4]; 

и

element.innerHTML = '<div id="innerDiv">' + d.field + '</div>';

Что произойдет, если я сделаю obj1.field = 'newValue'. Как делается ребинд?

Спасибо!

9
задан Tony 23 May 2012 в 18:34
поделиться