web-dev-qa-db-ja.com

Shadow DOMなしでLitElementを作成する方法は?

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なしで作成したい:
enter image description here

8
user7331530

この質問が回答済みとして表示されることを確認するためだけに:

createRenderRootを使用すると、シャドウルートを作成する操作をオーバーライドできます。これは通常、domをライトにレンダリングするために使用されます。

createRenderRoot() {
  return this;
}

ただし、他の場所に完全にレンダリングするために使用できます。

シャドウDOMの使用をお勧めします。要素が独自の軽量DOMを上書きする場合、構成は困難です。

16
Justin Fagnani