The HTMLElement.accessKey property sets the keystroke which a user can press to jump to a given element.
ReadonlyaccessThe HTMLElement.accessKeyLabel read-only property returns a string containing the element's browser-assigned access key (if any); otherwise it returns an empty string.
ReadonlyassignedReadonlyATTRIBUTE_ReadonlyattributesThe Element.attributes property returns a live collection of all attribute nodes registered to the specified node.
ReadonlyattributeThe autocapitalize property of the HTMLElement interface represents the element's capitalization behavior for user input.
The autocorrect property of the HTMLElement interface controls whether or not autocorrection of editable text is enabled for spelling and/or punctuation errors.
ReadonlybaseThe read-only baseURI property of the Node interface returns the absolute base URL of the document containing the node.
ReadonlyCDATA_node is a CDATASection node.
ReadonlychildReadonlychildThe read-only childNodes property of the Node interface returns a live the first child node is assigned index 0.
ReadonlychildrenReturns the child elements.
The className property of the of the specified element.
ReadonlyclientThe clientHeight read-only property of the Element interface is zero for elements with no CSS or inline layout boxes; otherwise, it's the inner height of an element in pixels.
ReadonlyclientThe clientLeft read-only property of the Element interface returns the width of the left border of an element in pixels.
ReadonlyclientThe clientTop read-only property of the Element interface returns the width of the top border of an element in pixels.
ReadonlyclientThe clientWidth read-only property of the Element interface is zero for inline elements and elements with no CSS; otherwise, it's the inner width of an element in pixels.
ReadonlyCOMMENT_node is a Comment node.
ReadonlycurrentThe currentCSSZoom read-only property of the Element interface provides the 'effective' CSS zoom of an element, taking into account the zoom applied to the element and all its parent elements.
ReadonlydatasetThe HTMLElement.dir property indicates the text writing directionality of the content of the current element.
ReadonlyDOCUMENT_node is a DocumentFragment node.
ReadonlyDOCUMENT_node is a document.
ReadonlyDOCUMENT_Set when other is a descendant of node.
ReadonlyDOCUMENT_Set when other is an ancestor of node.
ReadonlyDOCUMENT_Set when node and other are not in the same tree.
ReadonlyDOCUMENT_Set when other is following node.
ReadonlyDOCUMENT_ReadonlyDOCUMENT_Set when other is preceding node.
ReadonlyDOCUMENT_node is a doctype.
The draggable property of the HTMLElement interface gets and sets a Boolean primitive indicating if the element is draggable.
ReadonlyELEMENT_node is an element.
ReadonlyENTITY_ReadonlyENTITY_ReadonlyfirstThe read-only firstChild property of the Node interface returns the node's first child in the tree, or null if the node has no children.
ReadonlyfirstReturns the first child that is an element, and null otherwise.
The HTMLElement property hidden reflects the value of the element's hidden attribute.
The id property of the Element interface represents the element's identifier, reflecting the id global attribute.
The HTMLElement property inert reflects the value of the element's inert attribute.
The innerHTML property of the Element interface gets or sets the HTML or XML markup contained within the element.
The innerText property of the HTMLElement interface represents the rendered text content of a node and its descendants.
ReadonlyisThe read-only isConnected property of the Node interface returns a boolean indicating whether the node is connected (directly or indirectly) to a Document object.
ReadonlyisThe lang property of the HTMLElement interface indicates the base language of an element's attribute values and text content, in the form of a MISSING: RFC(5646, 'BCP 47 language identifier tag')].
ReadonlylastThe read-only lastChild property of the Node interface returns the last child of the node, or null if there are no child nodes.
ReadonlylastReturns the last child that is an element, and null otherwise.
ReadonlylocalThe Element.localName read-only property returns the local part of the qualified name of an element.
ReadonlynamespaceThe Element.namespaceURI read-only property returns the namespace URI of the element, or null if the element is not in a namespace.
ReadonlynextReturns the first following sibling that is an element, and null otherwise.
ReadonlynextThe read-only nextSibling property of the Node interface returns the node immediately following the specified one in their parent's Node.childNodes, or returns null if the specified node is the last child in the parent element.
ReadonlynodeThe read-only nodeName property of Node returns the name of the current node as a string.
ReadonlynodeThe read-only nodeType property of a Node interface is an integer that identifies what the node is.
The nodeValue property of the Node interface returns or sets the value of the current node.
OptionalnonceReadonlyNOTATION_ReadonlyoffsetThe offsetHeight read-only property of the HTMLElement interface returns the height of an element, including vertical padding and borders, as an integer.
ReadonlyoffsetThe offsetLeft read-only property of the HTMLElement interface returns the number of pixels that the upper left corner of the current element is offset to the left within the HTMLElement.offsetParent node.
ReadonlyoffsetThe HTMLElement.offsetParent read-only property returns a reference to the element which is the closest (nearest in the containment hierarchy) positioned ancestor element.
ReadonlyoffsetThe offsetTop read-only property of the HTMLElement interface returns the distance from the outer border of the current element (including its margin) to the top padding edge of the HTMLelement.offsetParent, the closest positioned ancestor element.
ReadonlyoffsetThe offsetWidth read-only property of the HTMLElement interface returns the layout width of an element as an integer.
Available only in secure contexts.
OptionalontouchcancelOptionalontouchendOptionalontouchmoveOptionalontouchstartThe outerHTML attribute of the Element DOM interface gets the serialized HTML fragment describing the element including its descendants.
The outerText property of the HTMLElement interface returns the same value as HTMLElement.innerText.
ReadonlyownerThe read-only ownerDocument property of the Node interface returns the top-level document object of the node.
ReadonlyparentThe read-only parentElement property of Node interface returns the DOM node's parent Element, or null if the node either has no parent, or its parent isn't a DOM Element.
ReadonlyparentThe read-only parentNode property of the Node interface returns the parent of the specified node in the DOM tree.
The popover property of the HTMLElement interface gets and sets an element's popover state via JavaScript ('auto', 'hint', or 'manual'), and can be used for feature detection.
ReadonlyprefixThe Element.prefix read-only property returns the namespace prefix of the specified element, or null if no prefix is specified.
ReadonlypreviousReturns the first preceding sibling that is an element, and null otherwise.
ReadonlypreviousThe read-only previousSibling property of the Node interface returns the node immediately preceding the specified one in its parent's or null if the specified node is the first in that list.
ReadonlyPROCESSING_node is a ProcessingInstruction node.
ReadonlyscrollThe scrollHeight read-only property of the Element interface is a measurement of the height of an element's content, including content not visible on the screen due to overflow.
The scrollLeft property of the Element interface gets or sets the number of pixels by which an element's content is scrolled from its left edge.
The scrollTop property of the Element interface gets or sets the number of pixels by which an element's content is scrolled from its top edge.
ReadonlyscrollThe scrollWidth read-only property of the Element interface is a measurement of the width of an element's content, including content not visible on the screen due to overflow.
ReadonlyshadowThe Element.shadowRoot read-only property represents the shadow root hosted by the element.
The slot property of the Element interface returns the name of the shadow DOM slot the element is inserted in.
The spellcheck property of the HTMLElement interface represents a boolean value that controls the spell-checking hint.
ReadonlytagThe tagName read-only property of the Element interface returns the tag name of the element on which it's called.
ReadonlyTEXT_node is a Text node.
The HTMLElement.title property represents the title of the element: the text usually displayed in a 'tooltip' popup when the mouse is over the node.
The translate property of the HTMLElement interface indicates whether an element's attribute values and the values of its Text node children are to be translated when the page is localized, or whether to leave them unchanged.
The writingSuggestions property of the HTMLElement interface is a string indicating if browser-provided writing suggestions should be enabled under the scope of the element or not.
Static_Static Optional_Static[metadata]Protected StaticfinalizedMarks class as having been finalized, which includes creating properties
from static properties, but does not include all properties created
from decorators.
The Element.classList is a read-only property that returns a live DOMTokenList collection of the class attributes of the element.
The part property of the Element interface represents the part identifier(s) of the element (i.e., set using the part attribute), returned as a DOMTokenList.
The textContent property of the Node interface represents the text content of the node and its descendants.
Inserts nodes just after node, while replacing strings in nodes with equivalent Text nodes.
Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes.
Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
The HTMLElement.attachInternals() method returns an ElementInternals object.
The Element.attachShadow() method attaches a shadow DOM tree to the specified element and returns a reference to its ShadowRoot.
Inserts nodes just before node, while replacing strings in nodes with equivalent Text nodes.
Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
The checkVisibility() method of the Element interface checks whether the element is visible.
Optionaloptions: CheckVisibilityOptionsThe HTMLElement.click() method simulates a mouse click on an element.
The cloneNode() method of the Node interface returns a duplicate of the node on which this method was called.
Optionalsubtree: booleanThe compareDocumentPosition() method of the Node interface reports the position of its argument node relative to the node on which it is called.
The computedStyleMap() method of the Element interface returns a StylePropertyMapReadOnly interface which provides a read-only representation of a CSS declaration block that is an alternative to CSSStyleDeclaration.
The contains() method of the Node interface returns a boolean value indicating whether a node is a descendant of a given node, that is the node itself, one of its direct children (Node.childNodes), one of the children's direct children, and so on.
The dispatchEvent() method of the EventTarget sends an Event to the object, (synchronously) invoking the affected event listeners in the appropriate order.
The getAttribute() method of the element.
The getAttributeNames() method of the array.
Returns the specified attribute of the specified element, as an Attr node.
The getAttributeNodeNS() method of the Element interface returns the namespaced Attr node of an element.
The getAttributeNS() method of the Element interface returns the string value of the attribute with the specified namespace and name.
The Element.getBoundingClientRect() method returns a position relative to the viewport.
The getClientRects() method of the Element interface returns a collection of DOMRect objects that indicate the bounding rectangles for each CSS border box in a client.
The Element method getElementsByClassName() returns a live specified class name or names.
The Element.getElementsByTagNameNS() method returns a live HTMLCollection of elements with the given tag name belonging to the given namespace.
The getHTML() method of the Element interface is used to serialize an element's DOM to an HTML string.
Optionaloptions: GetHTMLOptionsThe getRootNode() method of the Node interface returns the context object's root, which optionally includes the shadow root if it is available.
Optionaloptions: GetRootNodeOptionsThe Element.hasAttribute() method returns a Boolean value indicating whether the specified element has the specified attribute or not.
The hasAttributeNS() method of the Element interface returns a boolean value indicating whether the current element has the specified attribute with the specified namespace.
The hasAttributes() method of the Element interface returns a boolean value indicating whether the current element has any attributes or not.
The hasChildNodes() method of the Node interface returns a boolean value indicating whether the given Node has child nodes or not.
The hasPointerCapture() method of the pointer capture for the pointer identified by the given pointer ID.
The hidePopover() method of the HTMLElement interface hides a popover element (i.e., one that has a valid popover attribute) by removing it from the top layer and styling it with display: none.
The insertAdjacentElement() method of the relative to the element it is invoked upon.
The insertAdjacentHTML() method of the the resulting nodes into the DOM tree at a specified position.
The insertAdjacentText() method of the Element interface, given a relative position and a string, inserts a new text node at the given position relative to the element it is called from.
The isDefaultNamespace() method of the Node interface accepts a namespace URI as an argument.
The isEqualNode() method of the Node interface tests whether two nodes are equal.
The isSameNode() method of the Node interface is a legacy alias the for the === strict equality operator.
The lookupNamespaceURI() method of the Node interface takes a prefix as parameter and returns the namespace URI associated with it on the given node if found (and null if not).
The lookupPrefix() method of the Node interface returns a string containing the prefix for a given namespace URI, if present, and null if not.
The matches() method of the Element interface tests whether the element would be selected by the specified CSS selector.
The normalize() method of the Node interface puts the specified node and all of its sub-tree into a normalized form.
Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes.
Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
The releasePointerCapture() method of the previously set for a specific (PointerEvent) pointer.
Removes node.
The Element method removeAttribute() removes the attribute with the specified name from the element.
The removeAttributeNode() method of the Element interface removes the specified Attr node from the element.
The removeAttributeNS() method of the If you are working with HTML and you don't need to specify the requested attribute as being part of a specific namespace, use the Element.removeAttribute() method instead.
Replace all children of node with nodes, while replacing strings in nodes with equivalent Text nodes.
Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
Replaces node with nodes, while replacing strings in nodes with equivalent Text nodes.
Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.
The Element.requestFullscreen() method issues an asynchronous request to make the element be displayed in fullscreen mode.
Optionaloptions: FullscreenOptionsThe requestPointerLock() method of the Element interface lets you asynchronously ask for the pointer to be locked on the given element.
Optionaloptions: PointerLockOptionsThe scroll() method of the Element interface scrolls the element to a particular set of coordinates inside a given element.
Optionaloptions: ScrollToOptionsThe scrollBy() method of the Element interface scrolls an element by the given amount.
Optionaloptions: ScrollToOptionsThe Element interface's scrollIntoView() method scrolls the element's ancestor containers such that the element on which scrollIntoView() is called is visible to the user.
Optionalarg: boolean | ScrollIntoViewOptionsThe scrollTo() method of the Element interface scrolls to a particular set of coordinates inside a given element.
Optionaloptions: ScrollToOptionsThe setAttribute() method of the Element interface sets the value of an attribute on the specified element.
The setAttributeNode() method of the Element interface adds a new Attr node to the specified element.
The setAttributeNodeNS() method of the Element interface adds a new namespaced Attr node to an element.
The setHTMLUnsafe() method of the Element interface is used to parse a string of HTML into a DocumentFragment, optionally filtering out unwanted elements and attributes, and those that don't belong in the context, and then using it to replace the element's subtree in the DOM.
The setPointerCapture() method of the capture target of future pointer events.
The showPopover() method of the HTMLElement interface shows a Popover_API element (i.e., one that has a valid popover attribute) by adding it to the top layer.
The toggleAttribute() method of the present and adding it if it is not present) on the given element.
Optionalforce: booleanThe togglePopover() method of the HTMLElement interface toggles a Popover_API element (i.e., one that has a valid popover attribute) between the hidden and showing states.
Optionaloptions: booleanStaticaddAdds an initializer function to the class that is called during instance construction.
This is useful for code that runs against a ReactiveElement
subclass, such as a decorator, that needs to do work for each
instance, such as setting up a ReactiveController.
const myDecorator = (target: typeof ReactiveElement, key: string) => {
target.addInitializer((instance: ReactiveElement) => {
// This is run during construction of the element
new MyController(instance);
});
}
Decorating a field will then cause each instance to run an initializer that adds a controller:
class MyElement extends LitElement {
@myDecorator foo;
}
Initializers are stored per-constructor. Adding an initializer to a subclass does not add it to a superclass. Since initializers are run in constructors, initializers will run in order of the class hierarchy, starting with superclasses and progressing to the instance's class.
Protected StaticfinalizeFinishes setting up the class so that it's ready to be registered as a custom element and instantiated.
This method is called by the ReactiveElement.observedAttributes getter. If you override the observedAttributes getter, you must either call super.observedAttributes to trigger finalization, or call finalize() yourself.
StaticobservedSynchronizes property values when attributes change.
Specifically, when an attribute is set, the corresponding property is set.
You should rarely need to implement this callback. If this method is
overridden, super.attributeChangedCallback(name, _old, value) must be
called.
See responding to attribute changes
on MDN for more information about the attributeChangedCallback.
Registers a ReactiveController to participate in the element's reactive
update cycle. The element automatically calls into any registered
controllers during its lifecycle callbacks.
If the element is connected when addController() is called, the
controller's hostConnected() callback will be immediately called.
Removes a ReactiveController from the element.
Static OptionaldisableDisable the given warning category for this class.
This method only exists in development builds, so it should be accessed with a guard like:
// Disable for all ReactiveElement subclasses
ReactiveElement.disableWarning?.('migration');
// Disable for only MyElement and subclasses
MyElement.disableWarning?.('migration');
Static OptionalenabledRead or set all the enabled warning categories for this class.
This property is only used in development builds.
Static OptionalenableEnable the given warning category for this class.
This method only exists in development builds, so it should be accessed with a guard like:
// Enable for all ReactiveElement subclasses
ReactiveElement.enableWarning?.('migration');
// Enable for only MyElement and subclasses
MyElement.enableWarning?.('migration');
Invoked when the component is added to the document's DOM.
In connectedCallback() you should setup tasks that should only occur when
the element is connected to the document. The most common of these is
adding event listeners to nodes external to the element, like a keydown
event handler added to the window.
connectedCallback() {
super.connectedCallback();
addEventListener('keydown', this._handleKeydown);
}
Typically, anything done in connectedCallback() should be undone when the
element is disconnected, in disconnectedCallback().
Invoked when the component is removed from the document's DOM.
This callback is the main signal to the element that it may no longer be
used. disconnectedCallback() should ensure that nothing is holding a
reference to the element (such as event listeners added to nodes external
to the element), so that it is free to be garbage collected.
disconnectedCallback() {
super.disconnectedCallback();
window.removeEventListener('keydown', this._handleKeydown);
}
An element may be re-connected after being disconnected.
StaticelementMemoized list of all element properties, including any superclass properties. Created lazily on user subclasses when finalizing the class.
StaticpropertiesUser-supplied object that maps property names to PropertyDeclaration
objects containing options for configuring reactive properties. When
a reactive property is set the element will update and render.
By default properties are public fields, and as such, they should be considered as primarily settable by element users, either via attribute or the property itself.
Generally, properties that are changed by the element should be private or
protected fields and should use the state: true option. Properties
marked as state do not reflect from the corresponding attribute
However, sometimes element code does need to set a public property. This
should typically only be done in response to user interaction, and an event
should be fired informing the user; for example, a checkbox sets its
checked property when clicked and fires a changed event. Mutating
public properties should typically not be done for non-primitive (object or
array) properties. In other cases when an element needs to manage state, a
private property set with the state: true option should be used. When
needed, state properties can be initialized via public properties to
facilitate complex interactions.
StaticcreateCreates a property accessor on the element prototype if one does not exist
and stores a PropertyDeclaration for the property with the
given options. The property setter calls the property's hasChanged
property option or uses a strict identity check to determine whether or not
to request an update.
This method may be overridden to customize properties; however,
when doing so, it's important to call super.createProperty to ensure
the property is setup correctly. This method calls
getPropertyDescriptor internally to get a descriptor to install.
To customize what properties do when they are get or set, override
getPropertyDescriptor. To customize the options for a property,
implement createProperty like this:
static createProperty(name, options) {
options = Object.assign(options, {myOption: true});
super.createProperty(name, options);
}
Optionaloptions: PropertyDeclaration<unknown, unknown>Protected StaticgetReturns a property descriptor to be defined on the given named property. If no descriptor is returned, the property will not become an accessor. For example,
class MyElement extends LitElement {
static getPropertyDescriptor(name, key, options) {
const defaultDescriptor =
super.getPropertyDescriptor(name, key, options);
const setter = defaultDescriptor.set;
return {
get: defaultDescriptor.get,
set(value) {
setter.call(this, value);
// custom action.
},
configurable: true,
enumerable: true
}
}
}
StaticgetReturns the property options associated with the given property.
These options are defined with a PropertyDeclaration via the properties
object or the @property decorator and are registered in
createProperty(...).
Note, this method should be considered "final" and not overridden. To
customize the options for a given property, override
createProperty.
ReadonlyrenderReadonlyrenderNode or ShadowRoot into which element DOM should be rendered. Defaults to an open shadowRoot.
StaticshadowOptions used when calling attachShadow. Set this property to customize
the options for the shadowRoot; for example, to create a closed
shadowRoot: {mode: 'closed'}.
Note, these options are used in createRenderRoot. If this method
is customized, options should be respected if possible.
ProtectedcreateProtectedrenderInvoked on each update to perform rendering tasks. This method may return
any value renderable by lit-html's ChildPart - typically a
TemplateResult. Setting properties inside this method will not trigger
the element to update.
StaticelementMemoized list of all element styles. Created lazily on user subclasses when finalizing the class.
StaticstylesArray of styles to apply to the element. The styles should be defined using the css tag function, via constructible stylesheets, or imported from native CSS module scripts.
Note on Content Security Policy:
Element styles are implemented with <style> tags when the browser doesn't
support adopted StyleSheets. To use such <style> tags with the style-src
CSP directive, the style-src value must either include 'unsafe-inline' or
nonce-<base64-value> with <base64-value> replaced be a server-generated
nonce.
To provide a nonce to use on generated <style> elements, set
window.litNonce to a server-generated nonce in your page's HTML, before
loading application code:
<script>
// Generated and unique per request:
window.litNonce = 'a1b2c3d4';
</script>
Protected StaticfinalizeTakes the styles the user supplied via the static styles property and
returns the array of styles to apply to the element.
Override this method to integrate into a style management system.
Styles are deduplicated preserving the last instance in the list. This is a performance optimization to avoid duplicated styles that can occur especially when composing via subclassing. The last item is kept to try to preserve the cascade order with the assumption that it's most important that last added styles override previous styles.
Optionalstyles: CSSResultGroupIs set to true after the first update. The element code cannot assume
that renderRoot exists before the element hasUpdated.
True if there is a pending update as a result of calling requestUpdate().
Should only be read.
Returns a Promise that resolves when the element has completed updating.
The Promise value is a boolean that is true if the element completed the
update without triggering another update. The Promise result is false if
a property was set inside updated(). If the Promise is rejected, an
exception was thrown during the update.
To await additional asynchronous work, override the getUpdateComplete
method. For example, it is sometimes useful to await a rendered element
before fulfilling this Promise. To do this, first await
super.getUpdateComplete(), then any subsequent state.
A promise of a boolean that resolves to true if the update completed without triggering another update.
ProtectedenableNote, this method should be considered final and not overridden. It is overridden on the element instance with a function that triggers the first update.
ProtectedfirstInvoked when the element is first updated. Implement to perform one time work on the element after update.
firstUpdated() {
this.renderRoot.getElementById('my-text-area').focus();
}
Setting properties inside this method will trigger the element to update again after this update cycle completes.
Map of changed properties with old values
ProtectedgetOverride point for the updateComplete promise.
It is not safe to override the updateComplete getter directly due to a
limitation in TypeScript which means it is not possible to call a
superclass getter (e.g. super.updateComplete.then(...)) when the target
language is ES5 (https://github.com/microsoft/TypeScript/issues/338).
This method should be overridden instead. For example:
class MyElement extends LitElement {
override async getUpdateComplete() {
const result = await super.getUpdateComplete();
await this._myChild.updateComplete;
return result;
}
}
A promise of a boolean that resolves to true if the update completed without triggering another update.
ProtectedperformPerforms an element update. Note, if an exception is thrown during the
update, firstUpdated and updated will not be called.
Call performUpdate() to immediately process a pending update. This should
generally not be needed, but it can be done in rare cases when you need to
update synchronously.
Requests an update which is processed asynchronously. This should be called
when an element should update based on some state not triggered by setting
a reactive property. In this case, pass no arguments. It should also be
called when manually implementing a property setter. In this case, pass the
property name and oldValue to ensure that any configured property
options are honored.
Optionalname: PropertyKeyname of requesting property
OptionaloldValue: unknownold value of requesting property
Optionaloptions: PropertyDeclaration<unknown, unknown>property options to use instead of the previously configured options
ProtectedscheduleSchedules an element update. You can override this method to change the
timing of updates by returning a Promise. The update will await the
returned Promise, and you should resolve the Promise to allow the update
to proceed. If this method is overridden, super.scheduleUpdate()
must be called.
For instance, to schedule updates to occur just before the next frame:
override protected async scheduleUpdate(): Promise<unknown> {
await new Promise((resolve) => requestAnimationFrame(() => resolve()));
super.scheduleUpdate();
}
ProtectedshouldControls whether or not update() should be called when the element requests
an update. By default, this method always returns true, but this can be
customized to control when to update.
Map of changed properties with old values
ProtectedupdateUpdates the element. This method reflects property values to attributes
and calls render to render DOM via lit-html. Setting properties inside
this method will not trigger another update.
Map of changed properties with old values
ProtectedupdatedInvoked whenever the element is updated. Implement to perform post-updating tasks via DOM APIs, for example, focusing an element.
Setting properties inside this method will trigger the element to update again after this update cycle completes.
Map of changed properties with old values
ProtectedwillInvoked before update() to compute values needed during the update.
Implement willUpdate to compute property values that depend on other
properties and are used in the rest of the update process.
willUpdate(changedProperties) {
// only need to check changed properties for an expensive computation.
if (changedProperties.has('firstName') || changedProperties.has('lastName')) {
this.sha = computeSHA(`${this.firstName} ${this.lastName}`);
}
}
render() {
return html`SHA: ${this.sha}`;
}
Leaflet Map web component.