Renders the given lit-html template result
into the given node
.
Implement to customize the way rendering is applied. This is should not
typically be needed and is provided for advanced use cases.
lit-html
template result to render
node into which to render
Implement to customize where the element's template is rendered by
returning an element into which to render. By default this creates
a shadowRoot for the element. To render into the element's childNodes,
return this
.
Returns a node into which to render.
Called after element DOM has been rendered. Implement to
directly control rendered DOM. Typically this is not needed as lit-html
can be used in the _render
method to set properties, attributes, and
event listeners. However, it is sometimes useful for calling methods on
rendered elements, like calling focus()
on an element to focus it.
Current element properties
Changing element properties
Previous element properties
Called after the element DOM is rendered for the first time. Implement to perform tasks after first rendering like capturing a reference to a static node which must be directly manipulated. This should not be commonly needed. For tasks which should be performed before first render, use the element constructor.
Override which provides tracking of invalidated state.
Override which performs element rendering by calling
_render
, _applyRender
, and finally _didRender
.
Current element properties
Changing element properties
Previous element properties
Override which returns the value of _shouldRender
which users
should implement to control rendering. If this method returns false,
_propertiesChanged will not be called and no rendering will occur even
if property values change or requestRender
is called.
Current element properties
Changing element properties
Previous element properties
Default implementation always returns true.
Override which warns when a user attempts to change a property during the rendering lifecycle. This is an anti-pattern and should be avoided.
Implement to control if rendering should occur when property values
change or requestRender
is called. By default, this method always
returns true, but this can be customized as an optimization to avoid
rendering work when changes occur which should not be rendered.
Current element properties
Changing element properties
Previous element properties
Default implementation always returns true.
Override which sets up element rendering by calling* _createRoot
and _firstRendered
.
Call to request the element to asynchronously re-render regardless of whether or not any property changes are pending.
Returns a promise which resolves after the element next renders. The promise resolves to
true
if the element rendered andfalse
if the element did not render. This is useful when users (e.g. tests) need to react to the rendered state of the element after a change is made. This can also be useful in event handlers if it is desireable to wait to send an event until after rendering. If possible implement the_didRender
method to directly respond to rendering within the rendering lifecycle.