Проблема с производительностью, когда мне нужно установить атрибут модели в нескольких местах (модель привязывается к событию изменения)

Я привязываю свое модальное событие к событию изменения

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

Будет ли затронута производительность моего приложения, если мне потребуется установить/изменить атрибут моей модели и несколько мест, например @model.set({someAttr:'attributeA'})?

Решает ли {silent: true}, @model.set({someAttr:'attributeA'}, {silent: true}) проблему производительности приложения?


person Zhen    schedule 15.01.2013    source источник
comment
Что ж, если @someAction требуется выполнить после обновления attribute, например, если он отображает представление, а представление должно иметь последнее значение атрибута, тогда вам необходимо выполнить его. В противном случае {silent: true} также предотвратит change trigger и model validation.   -  person Cyclone    schedule 15.01.2013


Ответы (1)


Ответ "это зависит". Вам решать, какие изменения в вашей модели заслуживают событий изменения, а какие нет. В этом случае нет волшебного решения для повышения производительности.

Передача {silent:true} — это один из способов предотвратить срабатывание события изменения. Другая оптимизация заключается в прослушивании изменений определенных атрибутов в вашей модели.

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

Таким образом, ваше действие запускается только при изменении определенного атрибута и не запускается при изменении любых других атрибутов.

person anushr    schedule 15.01.2013