Verilere dayanarak içerik oluşturmak için d3.js kitaplığını kullanıyorum.D3.js'deki verileri yeniden oluşturmanın en iyi yolu
İşte basitleştirilmiş bir örnek. Örneğin, yeni verilerim [5,3] şeklindeyse, dizimi değiştirirsem [5,3]. Yeni html’i yeniden adlandırmanın ve göstermenin en iyi yolu nasıl? Aynı cümleyi tekrar aramak zorunda mıyım yoksa daha iyi bir yol mu? Daha karmaşık bir veri yapısının durumunu ele alın. yani
data_arr = [obj1, obj2, obj3, obj4];
ve
ben obj1.field = 'newValue' yapmak ne olurelement.innerHTML = '<div id="innerDiv">' + d.field + '</div>';
. İsyan nasıl yapılır?
Teşekkürler!
Benim durumum biraz daha karmaşık. Verilerim karmaşık nesneler. Eğer data_arr = [obj1, obj2, obj3] varsa; ve ben obj1.field = newvalue; Ne olur, tekrar söylemek isterim? D3.select ("# mylist") yapmak zorunda mıyım? SelectAll ('li'). Remove(); ve "liste" işlevini tekrar çağırır mısınız? Daha iyi bir yolu var mı? – Tony
Hayır, tüm li öğelerini kaldırmanız gerekmez; veri katılımı yalnızca çıkan öğeleri kaldırır. Herhangi bir nesne eklemeden veya çıkarmadan verilerinizi güncellerseniz, ekranı güncelleştirmek için sadece d3.select ("# liste") çağrısı yapabilirsiniz (liste, veri). Bu durumda giriş ve çıkış seçimi boş. – mbostock
Ancak, nesnenin belirli bir alanı değiştiyse, #innerDiv içeriğini güncellemez. Yoksa yanlış bir şey mi yapıyorum? D3.select ("# list"): çağrı (liste, veri), #innerDiv içeriğini d.field'ın yeni değeriyle güncellemeli mi? – Tony