无法从 Polymer 3 Mixin 触发事件

Can not fire a event from a Polymer 3 Mixin

我在 mixin 中有以下内容。但是,dispatchEvent 没有附加到 this。我收到错误 Cannot read property 'dispatchEvent' of undefined.

所以,我改用了 window.dispatchEvent,但是事件没有被父元素捕获。有什么想法可以在混入中触发事件吗?

  fetchError(response) {
      ...
      this.dispatchEvent(new CustomEvent(
        'http-error', {bubbles: true, detail: msg, composed: true}
      ));
      return Promise.reject(new Error(response.statusText));
    }

您可能需要绑定方法

将此添加到您的混音中:

constructor() {
  super();
  this.fetchError = this.fetchError.bind(this)
}