Как создать LitElement без Shadow DOM? - PullRequest
2 голосов
/ 12 марта 2019

Я создаю веб-компоненты, используя LitElement. Это из https://lit -element.polymer-project.org / guide / start

// Import the LitElement base class and html helper function
import { LitElement, html } from 'lit-element';

// Extend the LitElement base class
class MyElement extends LitElement {

  /**
   * Implement `render` to define a template for your element.
   *
   * You must provide an implementation of `render` for any element
   * that uses LitElement as a base class.
   */
  render(){
    /**
     * `render` must return a lit-html `TemplateResult`.
     *
     * To create a `TemplateResult`, tag a JavaScript template literal
     * with the `html` helper function:
     */
    return html`
      <!-- template content -->
      <p>A paragraph</p>
    `;
  }
}
// Register the new element with the browser.
customElements.define('my-element', MyElement);

Как создать LitElement без Shadow DOM?

Я хочу создать его без # shadow-root здесь:
enter image description here

1 Ответ

2 голосов
/ 18 марта 2019

Просто чтобы убедиться, что этот вопрос отображается в виде ответа:

createRenderRoot позволяет вам переопределить операцию, которая создает теневой корень.Обычно он используется для рендеринга на light dom:

createRenderRoot() {
  return this;
}

Хотя его можно использовать для рендеринга в другом месте целиком.

Я действительно рекомендую использовать shadow DOM.Композиция сложна, если элемент перезаписывает свой собственный DOM.

...