HTMLSlotElement: assignedNodes() 方法
assignedNodes() 方法是 HTMLSlotElement 介面的一部分,它返回分配給此插槽的節點序列。
如果將 flatten 選項設定為 true,則它返回分配給此插槽的節點序列,以及分配給此插槽後代的任何其他插槽的節點序列。如果沒有找到分配的節點,則返回插槽的後備內容。
語法
js
assignedNodes()
assignedNodes(options)
引數
options可選-
一個物件,用於設定要返回的節點的選項。可用的選項包括:
flatten-
一個布林值,指示是否返回任何可用的子
<slot>元素(true)的分配節點,或者不返回(false)。預設為false。
返回值
一個節點陣列。
示例
以下程式碼片段取自我們的 slotchange 示例(檢視即時演示)。
js
let slots = this.shadowRoot.querySelectorAll("slot");
slots[1].addEventListener("slotchange", (e) => {
let nodes = slots[1].assignedNodes();
console.log(
`Element in Slot "${slots[1].name}" changed to "${nodes[0].outerHTML}".`,
);
});
在這裡,我們獲取所有插槽的引用,然後為模板中的第二個插槽新增一個 slotchange 事件監聽器——在示例中,這個插槽的內容會不斷變化。
每次插入到插槽中的元素髮生變化時,我們都會向控制檯記錄一份報告,說明哪個插槽發生了變化,以及插槽內的新節點是什麼。
規範
| 規範 |
|---|
| HTML # dom-slot-assignednodes-dev |
瀏覽器相容性
載入中…