Backbone.js渲染性能和重绘

时间:2014-02-03 01:21:59

标签: javascript jquery backbone.js

我正在构建一个backbone.js应用程序。它有很多交互式计算器类型形式。当用户在输入中键入值时,我需要这些表单中的值才能更新。我在考虑两种方法:

策略:

1)使用下划线模板重新渲染每次交互时的视图

OR

2)渲染一次,找到jQuery中显示的每个点,并在每次交互时更新它们

我的问题:从可维护性的角度和浏览器性能的角度来看,您认为最佳做法是什么?最小化重绘等似乎对我来说是一个好主意,但附加所有听众并将它们与视图的位置配对也似乎有点糟糕。

非常感谢任何建议,

杰克

1 个答案:

答案 0 :(得分:0)

嗯,这肯定是一个主观问题,无论如何都无法回答。这实际上取决于两种策略的复杂性,这些策略又取决于您的应用逻辑。还有一些想法:

  • 您可以让多个元素彼此平行,每个元素都有自己的内容(视图)。根据逻辑,隐藏其余部分并仅显示一个。这避免了多次重新呈现视图,但是你必须编写一些维护多个视图的逻辑(全部隐藏,显示一个)。所以这种方法很好,只要你有2-3个视图,你的应用需要多次在这些视图之间切换。

  • 根据您的操作方式,重新绘制视图可能不是一项昂贵的操作。只需缓存选择器并对其进行所有更改,并仅更新DOM一次,这是最常见的做法。如果你只重新渲染一个视图,如果它只需要一个DOM操作,那么你很好。

从代码可维护性的角度来看,一定要采用策略#1,重新呈现视图。