Note that there are some explanatory texts on larger screens.

plurals
  1. PObackbone: rendering tree data and updating on changes
    primarykey
    data
    text
    <p>I get from server some kind of tree data (just for the example):</p> <pre><code>[ { nodeName: "top level 1", nodes: [ { nodeName: "2nd level, item 1", nodes: [ { nodeName: "3rd level, item 1"} ]} ]}, { nodeName: "top level 2", nodes: [ { nodeName: "2nd level, item 3", nodes: [ { nodeName: "3rd level, item 7"}, { nodeName: "3rd level, item 8"}, { nodeName: "3rd level, item 9"} ]} ]} ]​ </code></pre> <p>To render this I'am using Backbone.Marionette.CollectionView &amp; Backbone.Marionette.CompositeView <a href="http://jsfiddle.net/AdWjU/179/" rel="nofollow">http://jsfiddle.net/AdWjU/179/</a> (following <a href="http://lostechies.com/derickbailey/2012/04/05/composite-views-tree-structures-tables-and-more/" rel="nofollow" title="derickbailey's examples">derickbailey's article</a>).</p> <p>But I need to poll server every 300 seconds and it can return changed tree:</p> <pre><code>[ { nodeName: "top level 1", nodes: [ { nodeName: "2nd level, item 1", nodes: [ { nodeName: "3rd level, item 1"}, { nodeName: "new name"} // changed ]} ]}, { nodeName: "top level 2", nodes: [ { nodeName: "2nd level, item 3", nodes: [ { nodeName: "3rd level, item 7"}, { nodeName: "3rd level, item 8"}, { nodeName: "3rd level, item 9"}, { nodeName: "3rd level, item 10"} // added ]} ]} ]​ </code></pre> <p>Now I simply call tree.update(data) to rerender entire data.</p> <p>How can I update only views which depend on changed properties?</p> <p>I'm trying to reduce views which be rerendered. Should I go with CompositeViews or try something like Backbone-relational model to accomplish this task?</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload