我想在"更改"期间做模特.set(...)事件 - 某些模型属性必须同步:例如我有一个可以涵盖许多产品的预算,但如果我改变预算,必须更新产品数量,反之亦然。我试过禁用"更改"事件(即model.off(' change');)然后在model.set(...)之后启用它,即model.on(' change',callbackFunction); ,但我仍然调用了更改事件处理程序/回调。
更改处理程序/回调中更新模型的最佳方法是什么?
答案 0 :(得分:2)
您可以使用静默标记
传递options
对象
this.model.set({someKey:25}, {silent: true});
没有change
事件
答案 1 :(得分:1)
您可以控制设置模型并对其“保持沉默”。因此,如果您想设置某些内容而不是调用更改,则需要添加silent: true
,例如:
model.set('budget', '$12.34', { silent: true })
您也可以在change
上具体说明。所以说你的其他模型之一需要只听取“预算总额”。您只需听取预算总额的变化:
modelOne.listenTo( modelTwo, 'change:budgetTotal', function( modelTwo, value ){
this.set('budgetTotal', value );
});