如何更新Backbone或Spine中的一小部分视图

时间:2011-10-01 11:27:54

标签: backbone.js spine.js

Backbone / Spine中的常见模式是在发生某些事情时从头开始重新渲染整个视图。

但是如果你只需要更新它的一小部分(高亮,选择,禁用,动画等)你会怎么做?

重新渲染所有内容没有任何意义,因为它可能会搞砸当前布局(例如,如果页面已滚动到某个点)。

另一方面,如果您使用类似$('.selected').highlight()的内容从视图中“内联”更新小部件,则必须在视图模板和JavaScript代码中复制相同的逻辑

那么Backbone / Spine的“最佳实践”是什么呢?

2 个答案:

答案 0 :(得分:5)

在Spine中,使用元素模式http://spinejs.com/docs/controller_patterns

答案 1 :(得分:1)

在房子的骨干一侧,你最终会使用相同的jquery ......只是在骨干视图中包裹起来。我在这里写了博客:

http://lostechies.com/derickbailey/2011/09/26/seo-and-accessibility-with-html5-pushstate-part-2-progressive-enhancement-with-backbone-js/

在这种情况下忽略pushstate,seo和accessibility语言。渐进式增强的想法是你所追求的