在属性值更改事件上配置观察者的推荐方法。

当前使用更新的方法并遍历有效的changedProperties参数。

static get properties() {
  return {
    testprop: { type:String },
  };
updated(changedProperties) {
  changedProperties.forEach((oldValue, propName) => {
    if (propName=='testprop') {
      console.log('testprop CHANGED!');
      this.dosomething();
    }
  });
}


但是,与Polymer 2.0相比,它看起来过于复杂:

testprop: {
  type:String,
  value: '',
  observer: 'dosomething',
},


要观察属性事件的变化并运行一些代码,是否有更简单/推荐的处理方式?

最佳答案

Per Alan的建议:

set testprop(val) {
  let oldVal = this._testprop;
  this._testprop = val;
  this.requestUpdate('testprop', oldVal);
  this.dosomething();
}
get testprop() { return this._testprop; }

关于javascript - 元素属性观察者事件更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56047198/

10-12 06:53