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を作成する方法は?
この質問が回答済みとして表示されることを確認するためだけに:
createRenderRoot
を使用すると、シャドウルートを作成する操作をオーバーライドできます。これは通常、domをライトにレンダリングするために使用されます。
createRenderRoot() {
return this;
}
ただし、他の場所に完全にレンダリングするために使用できます。
シャドウDOMの使用をお勧めします。要素が独自の軽量DOMを上書きする場合、構成は困難です。