裝飾器

類別裝飾器工廠,將裝飾的類別定義為自訂元素。

匯入

簽名

customElement(tagName): (classOrDescriptor: ClassDescriptor | CustomElementClass) => any

參數

tagName
字串

要定義的自訂元素的標籤名稱。

詳細資訊

將事件監聽器選項新增至在 lit-html 模板中用作事件監聽器的方法。

匯入

簽名

eventOptions(options): (protoOrDescriptor: ReactiveElement | ClassElement, name?: PropertyKey) => any

參數

options
AddEventListenerOptions

一個物件,指定 EventTarget#addEventListenerEventTarget#removeEventListener 接受的事件監聽器選項。

一個屬性裝飾器,建立一個響應式屬性,反映相應的屬性值。當設定裝飾的屬性時,元素將會更新並渲染。可以選擇提供一個 PropertyDeclaration 來設定屬性功能。

匯入

簽名

property(options?): (protoOrDescriptor: Object | ClassElement, name?: PropertyKey) => any

參數

options?
PropertyDeclaration<unknown, unknown>

詳細資訊

此裝飾器應僅用於公共欄位。作為公共欄位,屬性應被視為主要由元素使用者透過屬性或屬性本身設定。通常,由元素變更的屬性應為私有或受保護的欄位,並應使用 state 裝飾器。但是,有時元素程式碼確實需要設定公共屬性。這通常應僅在回應使用者互動時完成,並且應觸發事件通知使用者;例如,核取方塊在點擊時會設定其 checked 屬性並觸發 changed 事件。通常不應針對非原始 (物件或陣列) 屬性變更公共屬性。在元素需要管理狀態的其他情況下,應使用透過 state 裝飾器裝飾的私有屬性。在需要時,可以透過公共屬性初始化狀態屬性,以方便複雜的互動。

一個屬性裝飾器,將類別屬性轉換為 getter,該 getter 在元素的 renderRoot 上執行 querySelector。

匯入

簽名

query(selector, cache?): (protoOrDescriptor: ReactiveElement | ClassElement, name?: PropertyKey) => any

參數

selector
字串

一個 DOMString,包含一個或多個要比對的選取器。

cache?
布林值

一個可選的布林值,當為 true 時,只執行一次 DOM 查詢並快取結果。

一個屬性裝飾器,將類別屬性轉換為 getter,該 getter 在元素的 renderRoot 上執行 querySelectorAll。

匯入

簽名

queryAll(selector): (protoOrDescriptor: ReactiveElement | ClassElement, name?: PropertyKey) => any

參數

selector
字串

一個 DOMString,包含一個或多個要比對的選取器。

一個屬性裝飾器,將類別屬性轉換為 getter,該 getter 回傳指定 slotassignedElements。提供一種宣告式方式來使用 HTMLSlotElement.assignedElements

匯入

簽名

queryAssignedElements(options?): (protoOrDescriptor: ReactiveElement | ClassElement, name?: PropertyKey) => any

參數

options?
QueryAssignedElementsOptions

詳細資訊

可以傳遞一個可選的 QueryAssignedElementsOptions 物件。使用範例

請注意,此屬性的類型應註解為 Array<HTMLElement>

一個屬性裝飾器,將類別屬性轉換為 getter,該 getter 回傳指定 slotassignedNodes

匯入

簽名

queryAssignedNodes(options?): TSDecoratorReturnType

參數

options?
QueryAssignedNodesOptions

詳細資訊

可以傳遞一個可選的 QueryAssignedNodesOptions 物件。使用範例

請注意,此屬性的類型應註解為 Array<Node>。使用 queryAssignedElements 裝飾器僅列出元素,並可選擇使用 CSS 選取器篩選元素清單。

一個屬性裝飾器,將類別屬性轉換為 getter,該 getter 回傳一個 Promise,該 Promise 會解析為在元素的 updateComplete Promise 解析後在元素的 renderRoot 上執行的 querySelector 的結果。當查詢的屬性可能會隨元素狀態而變更時,可以使用此裝飾器,而無需使用者在存取屬性之前等待 updateComplete

匯入

簽名

queryAsync(selector): (protoOrDescriptor: ReactiveElement | ClassElement, name?: PropertyKey) => any

參數

selector
字串

一個 DOMString,包含一個或多個要比對的選取器。

宣告一個私有或受保護的響應式屬性,該屬性在變更時仍會觸發元素更新。它不會從對應的屬性反映。

匯入

簽名

state(options?): (protoOrDescriptor: Object | ClassElement, name?: PropertyKey) => any

參數

options?
InternalPropertyDeclaration<unknown>

詳細資訊

以這種方式宣告的屬性不得從 HTML 或 HTML 範本系統使用,它們僅適用於元素內部的屬性。這些屬性可能會被像 Closure Compiler 這樣的最佳化工具重新命名。

匯入

方法和屬性

hasChanged(value, oldValue): boolean

連結到 hasChanged 的永久連結 查看原始碼

一個函式,用於指示在設定屬性時是否應將其視為已變更。此函式應接收 newValueoldValue,如果應要求更新,則返回 true

參數
類型
oldValue
類型

queryAssignedElements 裝飾器的選項。擴充了可傳遞到 HTMLSlotElement.assignedElements 中的選項。

匯入

方法和屬性

用於篩選傳回元素的 CSS 選擇器。例如,選擇器為 ".item" 將僅包含具有 item 類別的元素。

要查詢的 slot 名稱。對於預設 slot,請留空。

queryAssignedNodes 裝飾器的選項。擴充了可傳遞到 HTMLSlotElement.assignedNodes 中的選項。

匯入

方法和屬性

要查詢的 slot 名稱。對於預設 slot,請留空。