【问题标题】:How do I observe property changes in Polymer 3?如何观察 Polymer 3 的性能变化?
【发布时间】:2018-07-24 07:48:52
【问题描述】:

如何使用 Polymer 3 中的事件侦听器对组件中的属性更改进行连续检查(基于时间)?

这些是我的component's 属性:

static get properties() {
  return {
    longitude: {
      type: Number
    },
    latitude: {
      type: Number
    },
    accuracy: {
      type: Number
    }
  };
}

【问题讨论】:

  • 到目前为止你尝试了哪些方法,你到底卡在哪里了?
  • static get properties() { return { longitude: { type: Number }, latitude: { type: Number }, accuracy: { type: Number } };在这个函数中,我想知道如何动态检查经度和纬度值的变化(在运行组件时从 html 代码传递 r)并使用聚合物 3 相应地更新它。
  • 请不要在评论中添加代码,而是编辑问题。从我的角度来看,给定的代码只返回静态的东西。应该在哪里检测到更改?

标签: javascript polymer polymer-3.x


【解决方案1】:

您可以使用complex observer,只要任何指定的属性发生更改,就会调用该complex observer。为此,请声明一个 observers getter,它返回一个字符串数组,其中每个字符串是观察者方法名称,后跟括号中的依赖项列表(即要观察的属性):

static get observers() {
  return ['_onPropsChanged(longitude, latitude, accuracy)'];
}

_onPropsChanged(longitude, latitude, accuracy) {
  console.log({ longitude, latitude, accuracy });
}

demo

【讨论】:

    猜你喜欢
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    • 2018-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-27
    • 2020-01-13
    相关资源
    最近更新 更多