Элемент LitElement загружает внешний скрипт

#web-component #lit-element #polymer-3.x

#веб-компонент #lit-элемент #polymer-3.x

Вопрос:

Я попытался просто загрузить его в свой визуализированный HTML, но это не работает.

текущий код:

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

Ответ №1:

получил решение от polymer slack channel (заслуга Уэстбрука):

 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);