The child nodes (must not be modified directly!)
The ClassList
of the element (will never change and must not be modified!)
The parent slot element in composed tree (must not be modified directly!)
The shadow-root which owns the element (will never change and must not be modified!)
The index in parentNode.childNodes (-1 if no parentNode) (must not be modified directly!)
The parent element (must not be modified directly!)
The index in containingSlot.slotNodes (must not be modified directly!)
The slot content nodes composed tree (must not be modified directly!)
Static
isStatic
isAdd a lifetime event listener on the component
Add an event listener on the element
Optional
options: EventListenerOptionsCast a node to an element (native node, virtual node, or component node)
Returns null
if the element is not a text node.
Cast an element to a general component
Returns null
if the element is not a component
Cast a general component node to the instance of the specified component
Returns null
if the component node is not the instance of the specified component.
Cast an element to a native node
Returns null
if the element is not a native node.
Cast an element to a shadow root
Returns null
if the element is not a shadow root.
Cast an element to a virtual node
Returns null
if the element is not a virtual node.
Collect the marks on the element
The marks includes the marks on ancestors (in shadow tree) of the element. If multiple marks on different elements shares the same name, the mark value on the child-most element is accepted.
Create an intersection observer
The relativeElement
is the element to calculate intersection with ( null
for the viewport).
The relativeElementMargin
is the margins of the relativeElement
.
The thresholds
is a list of intersection ratios to trigger the listener
.
The listener always triggers once immediately after this call.
Destroy backend element for the whole subtree.
It will destroy backend elements for the whole subtree (shadow tree) recursively. If a backend element for a component is destroyed, any backend element in the shadow tree of the component will also be destroyed.
Trigger an event with specified event object on the element
Add an observer on the runtime
This method is for debug or inspect use only, do not use it in production.
Iterate composed child nodes (including virtual nodes)
if f
returns false
then the iteration is interrupted.
Returns true
if that happens.
Iterate non-virtual composed child nodes
if f
returns false
then the iteration is interrupted.
Returns true
if that happens.
Get the backend context
Get the backend element
Get the backend mode
Get the corresponding component definition
Get the options of the component
Get composed parent (including virtual nodes)
Returns the owner component space of this component
Get the target elements of a relation
Get the root behavior of the component
Get the bounding client rect
Return zero values when the backend element is invalid or it does not have layout information.
Returns the shadow root element
Returns null
for external components.
Pending all data updates in the callback, and apply updates after callback returns
This function helps grouping several replaceDataOnPath
or spliceArrayDataOnPath
calls,
and then apply them at the end of the callback.
setData
and applyDataUpdates
calls inside the callback still apply updates immediately.
Check whether the other
behavior is a dependent behavior or a implemented trait behavior
Test whether the target in this subtree matches the selector
Select the first descendant which matches the selector
Select all descendants which matches the selector
remove a lifetime event listener on the component
Remove an event listener on the element
Optional
options: EventListenerOptionsSchedule a data update on a single specified path
The data update will not be applied until next setData
or applyDataUpdates
call.
All data observers will not be triggered immediately before applied.
Reads of the data will get the unchanged value before applied.
Do a classic data updates
This method apply updates immediately, so there is no async callback.
When called inside observers, the data update will not be applied to templates.
Inside observers, it is recommended to use updateData
instead.
Optional
newData: Partial<IsAny<DataWithPropertyValues<TData, TProperty>> extends trueSet the node class
Optional
index: StyleSegmentIndexSet the node style
Optional
index: StyleSegmentIndexSchedule an array update
The behavior is like Array.prototype.slice
.
Break the array before the index
-th item, delete del
items, and insert some items here.
If index
is undefined, negative, or larger than the length of the array,
no items will be deleted and new items will be appended to the end of the array.
The data update will not be applied until next setData
or applyDataUpdates
call.
All data observers will not be triggered immediately before applied.
Reads of the data will get the unchanged value before applied.
Toggle the node class
Optional
force: booleanOptional
index: StyleSegmentIndexGet the trait behavior implementation of the component
Returns undefined
if the specified trait behavior is not implemented.
Trigger an event on the element
Optional
detail: unknownOptional
options: EventOptionsSchedule a classic data updates
The data update will not be applied until next setData
or applyDataUpdates
call.
When called inside observers, the data update will be applied when observer ends.
All data observers will not be triggered immediately before applied.
Reads of the data will get the unchanged value before applied.
Optional
newData: Partial<IsAny<DataWithPropertyValues<TData, TProperty>> extends trueStatic
_$spliceStatic
_$updateStatic
createOptional
initPropValues: ((comp) => void)Static
createOptional
initPropValues: ((comp) => void)Static
createOptional
initPropValues: ((comp) => void)Static
createOptional
initPropValues: ((comp) => void)Static
forIterate elements with their slots (slots-inherited nodes included)
Static
forIterate elements in specified slot (slots-inherited nodes included)
Static
forIterate elements with their slots (slots-inherited nodes NOT included)
Static
forIterate elements in specified slot (slots-inherited nodes NOT included)
Static
getStatic
getGet whether the slot-inherit mode is set or not
Static
getStatic
getGet a method
If useMethodCallerListeners
option is set for this component,
this method will use the corresponding fields in the methodCaller
.
Static
getList methods by the component definition (backward compatibility)
Static
getGet the slot name of the element
Static
hasStatic
hasGet whether a node has any subtree MutationObserver
attached to it
If there is, then tree update may have more performance impact.
Static
insertStatic
isCheck the element is attached or not
Static
isStatic
listStatic
matchTest whether the target matches the selector
Static
parseParse a selector string so that it can be used multiple queries
Static
pretendMake the element looks like attached.
If the element will never be attached to backend or it has no backend element at all,
this can be used to trigger attached
life-time.
Static
pretendMake the element looks like detached.
This can be used to trigger detached
life-time without remove the element in the backend.
Static
registerStatic
replaceAttach the element into the backend, swapping out a placeholder element in the backend.
The element
must not be a child node of another element,
must not be attached before,
and must not have a ownerShadowRoot
.
The element
targetParent
and targetNode
must be in the same backend context.
The element
replaces the targetNode
in the targetParent
.
Static
replaceStatic
setSet the virtual node to slot-inherit mode
In slot-inherit mode of an element, the child nodes of the element will be treated as siblings and can have different target slot.
Static
setSet the binding slot of specific node
Necessary if node belongs to a dynamic slot, which cannot be identified by slot name.
Static
setSet the slot name of the element
Once this method is called for an element
,
it will be treated as a slot which can contain child nodes in composed tree.
This method should not be used in components,
otherwise the slot content will always be dangled.
Optional
name: string
A node that has a shadow tree attached to it