两个观察者聚合物
Two observers Polymer
我有两个观察者,我在每个观察者中更改另一个观察者的 属性 的值。在这种情况下,我不希望其他观察者执行。
我如何更改观察者将仅在外部更改 属性 时执行?
谢谢
你必须使用这样的观察者:
Polymer({
is: 'x-custom',
properties: {
preload: Boolean,
src: String,
size: String
},
observers: [
'updateImage(preload, src, size)'
],
updateImage: function(preload, src, size) {
// ... do work using dependent values
}
});
更多信息见:https://www.polymer-project.org/1.0/docs/devguide/properties.html#multi-property-observers
您最好的选择是使用局部变量来停止更新。
Polymer({
is: 'my-element',
properties: {
myProperty: {
type: String,
observer: '_myObserverA'
}
},
observers: [
'_myObserverB(myProperty)'
],
_myObserverA(newValue) {
if(!this._localUpdate) {
//do stuff here
} else {
this._localUpdate = false;
}
},
_myObserverB(newValue) {
this._localUpdate = true;
//do stuff here
}
})
我有两个观察者,我在每个观察者中更改另一个观察者的 属性 的值。在这种情况下,我不希望其他观察者执行。 我如何更改观察者将仅在外部更改 属性 时执行?
谢谢
你必须使用这样的观察者:
Polymer({
is: 'x-custom',
properties: {
preload: Boolean,
src: String,
size: String
},
observers: [
'updateImage(preload, src, size)'
],
updateImage: function(preload, src, size) {
// ... do work using dependent values
}
});
更多信息见:https://www.polymer-project.org/1.0/docs/devguide/properties.html#multi-property-observers
您最好的选择是使用局部变量来停止更新。
Polymer({
is: 'my-element',
properties: {
myProperty: {
type: String,
observer: '_myObserverA'
}
},
observers: [
'_myObserverB(myProperty)'
],
_myObserverA(newValue) {
if(!this._localUpdate) {
//do stuff here
} else {
this._localUpdate = false;
}
},
_myObserverB(newValue) {
this._localUpdate = true;
//do stuff here
}
})