聚合物2 - 单击另一个时显示一个元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聚合物2 - 单击另一个时显示一个元素相关的知识,希望对你有一定的参考价值。

我使用Polymer 2来创建两个自定义元素:

  • 一个按钮
  • 覆盖元素

我正在导入并在另一个“主要元素”上使用它们。

我想做的是通过每次“按钮”点击切换“覆盖元素”上的类。

是否有可能做到这一点?我可以在元素之间共享数据绑定吗?

答案

使用格言“事件向上,支持向下”,兄弟元素通过父母共享数据。对此有各种解决方案。我正在使用Redux来跨多个元素共享数据,但简单的父对子方法可行:

在main-element.html

<button-element id="button"></button-element>
<overlay-element id="overlay"></overlay-element>
...
ready() {
  super.ready();
  this.$.button.addEventListener('toggle', this._onUpdate);
}
_onUpdate(event) {
  this.$.overlay.toggle = !this.$.overlay.toggle;
}

在button-element.html中

<button on-click="_doClick">Ok</button>
...
_doClick(event) {
  this.dispatchEvent(new CustomEvent('toggle'));
}

在overlay-element.html中

<div>[[status]]</div>
...
static get properties() {
  return {
    toggle: {
      type: Boolean,
      observer: '_toggleChanged'
    },
    status: {
      type: String
    }
...
_toggleChanged(newValue, oldValue) {
  this.status = newValue ? 'I\'m hit.' : 'Missed me.';
}

this pen

以上是关于聚合物2 - 单击另一个时显示一个元素的主要内容,如果未能解决你的问题,请参考以下文章

单击按钮时显示另一个 ui 文件

单击另一个 div 时显示 div

Wordpress/Visual Composer - 单击另一个 div 时显示 1 个 div

在保存在另一个工作表中的 excel 中单击列时显示图像

仅在单击某个按钮时显示弹出窗口

在 ruby​​ on rails 中单击时显示元素