元素属性观察者事件更改

时间:2019-05-08 18:46:38

标签: javascript polymer lit-element

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

当前使用更新的方法并遍历有效的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',
},

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

1 个答案:

答案 0 :(得分:0)

根据艾伦的建议:

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