假设我有五个等级,每个等级的不同数据点(工资,数字,平均值等)。我建立了一个模型集合,每个级别都有一个模型。
然后我有一个Rank视图和一个App视图 - 在我的App视图中渲染五个Rank视图。我还需要在每个等级视图中放入一个d3图表。
到目前为止,没有问题。但是我选择了一个按钮,用新数据更新我的集合,我必须重新渲染每个Rank视图以在我的集合中显示新数据,对吗?重新渲染数据会每次重建d3图表,这是我不想做的,因为我希望图表有过渡。有人能给我一点指导吗?不一定代码,只是可能的解决方案?
答案 0 :(得分:0)
您可以随意更新值并重新制作动画。没有必要完全破坏对象并创建一个新对象,尽管这是你经常看到的快捷方式,因为它很简单....但它同时也引入了显示问题。 / p>
这里有一个简单的例子,可以更改表的值并重新制作动画,而不是销毁和制作新的:D3 redraw example您显然可以通过Backbone模型获得非常不同的数据,但概念是相同的。
我在我的灯光控制应用程序中有类似的模式,我真的喜欢使用网格来渲染集合,并通过链接打开每个单独的视图,无论是通过链接到新页面(我喜欢的方法)或模态(老板最喜欢的方法)我当前选择的网格是Backgrid.js,它直接与集合绑定,因此根本不需要工作来更新模型更改。