Polymer 3 paper-dialog: Uncaught TypeError: Cannot read property 'dialog' of undefined

Polymer 3 paper-dialog: Uncaught TypeError: Cannot read property 'dialog' of undefined

怎么了?请告诉我 我尝试从按钮 运行 - 它不起作用。也许有些东西没有连接?但日志中没有任何内容

import '@polymer/paper-dialog/paper-dialog.js';
import { html } from '@polymer/polymer/lib/utils/html-tag.js';
import { PolymerElement } from '@polymer/polymer/polymer-element.js';
class BuildingForm extends PolymerElement {
  static get template() {
    return html`
      <paper-dialog id="dialog" with-backdrop="">
        <h2>header</h2>
        <div>Dialog body</div>
      </paper-dialog>
    `;
  }
  ready(){
    window.addEventListener('openBuildingForm', e => {
        this.openDialog();
    });
  }
  static get properties() {
    return {
      BuildingFormHeader: String,
    }
  }
  openDialog(){
    this.$.dialog.toggle();
  }
}
customElements.define('building-form', BuildingForm);

您在 ready() 函数中缺少 super.ready() 调用。这是必需的,因为您要扩展 PolymerElement

ready() {
    super.ready();
    /* ..and your code.. */
}

更多信息在这里:https://polymer-library.polymer-project.org/3.0/docs/devguide/custom-elements