我必须在多个位置设置模型的属性时的性能问题(模型绑定到更改事件)

时间:2013-01-15 02:16:17

标签: backbone.js bind onchange silent

我将我的模态绑定到更改事件

@model.bind('change', @someAction)

如果我需要设置/更改模型的属性和多个位置,即@ model.set({someAttr:'attributeA'}),我的应用程序的性能是否会受到影响?

执行{silent:true},@ model.set({someAttr:'attributeA'},{silent:true})是否解决了应用程序的性能问题?

1 个答案:

答案 0 :(得分:1)

答案是“它取决于”。由您决定模型的哪些更改值得更改事件,哪些更改不事件。在这种情况下,没有神奇的答案来提高性能。

传递{silent:true}是阻止更改事件触发的一种方法。另一个优化是监听模型中特定属性的更改。

@model.bind('change:myAttr', @someAction)

这样,只有在特定属性发生更改时才会触发您的操作,如果更改了其他任何属性,则不会触发您的操作。