27

我正在使用 LitElement 创建一个 Web 组件。这是来自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);

如何在没有 Shadow DOM 的情况下创建 LitElement?

我想在没有#shadow-root 的情况下在这里创建它:
在此处输入图像描述

4

1 回答 1

44

只是为了确保这个问题显示为已回答:

createRenderRoot允许您覆盖创建影子根的操作。它通常用于渲染到 light dom:

createRenderRoot() {
  return this;
}

虽然它可以用来完全渲染其他地方。

我真的推荐使用影子 DOM。如果一个元素覆盖了它自己的轻量级 DOM,那么组合就很困难。

于 2019-03-17T23:40:34.470 回答