LitElement 加载外部脚本

LitElement load external script

我试图简单地将它加载到我渲染的 HTML 中,但这不起作用。

当前代码:

render() {
    return html `<script @onload="${this.mapKitLoadedCallback}" src="https://cdn.apple-mapkit.com/mk/5.x.x/mapkit.js"></script>`;
}

从 polymer slack 渠道获得了解决方案(归功于 westbrook):

import { LitElement, html } from 'lit-element';

class MyElement extends LitElement {
  script() {
    let script = document.createElement('script');
    script.onload = this.onLoad.bind(this);
    script.src = 'https://cdn.apple-mapkit.com/mk/5.x.x/mapkit.js';
    return script;
  }
  onLoad() {
    alert('loaded');
  }
  render() {
    return html`
      <p>Hello world! From my-element</p>
      ${this.script()}
    `;
  }
}

customElements.define('my-element', MyElement);