Dojox / mvc / sync再次触发窗口小部件的自定义设置程序

时间:2018-11-23 11:17:41

标签: dojo

我正在使用sync函数在Stateful对象和自定义窗口小部件之间建立双向绑定。

当我在窗口小部件中使用自定义设置程序时,它们会两次更改一次:第一个-因为我在窗口小部件内部调用this.set('property','value'),第二个-当更新来自同步对象时。

在日志中,它看起来像:

dojo.Stateful:columnsSettingsPreset is being copied from: Component:activePreset (Value: [object Object] from undefined)
sync.js:126 Component:columnsSettingsPreset is being copied from: dojo.Stateful:columnsSettingsPreset (Value: [object Object] from undefined)
sync.js:126 Component:activePreset is being copied from: dojo.Stateful:columnsSettingsPreset (Value: [object Object] from undefined)

自定义设置器如下:

_setActivePresetAttr(preset) {
    console.log('I am setting active preset:', preset)
    this._set('activePreset', preset) //If not to call this, watchers won't be notified
}

如果我在小部件中的某个地方调用this.set('activePreset', preset),日志将被打印两次。

有什么办法可以防止这种行为?

0 个答案:

没有答案