デコレーター

デコレートされたクラスをカスタム要素として定義するクラスデコレーターファクトリー。

インポート

シグネチャ

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

パラメーター

tagName
string

定義するカスタム要素のタグ名。

詳細

lit-htmlテンプレートでイベントリスナーとして使用されるメソッドにイベントリスナーオプションを追加します。

インポート

シグネチャ

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

パラメーター

options
AddEventListenerOptions

EventTarget#addEventListener および EventTarget#removeEventListener で受け入れられるイベントリスナーオプションを指定するオブジェクト。

対応する属性値を反映するリアクティブプロパティを作成するプロパティデコレーター。デコレートされたプロパティが設定されると、要素が更新およびレンダリングされます。PropertyDeclaration は、オプションでプロパティ機能を構成するために提供される場合があります。

インポート

シグネチャ

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

パラメーター

options?
PropertyDeclaration<unknown, unknown>

詳細

このデコレーターは、パブリックフィールドにのみ使用する必要があります。パブリックフィールドとして、プロパティは主に属性またはプロパティ自体を介して要素ユーザーによって設定可能であると見なされる必要があります。一般に、要素によって変更されるプロパティはプライベートまたは保護されたフィールドであり、state デコレーターを使用する必要があります。ただし、要素コードがパブリックプロパティを設定する必要がある場合があります。これは通常、ユーザーの操作に応じてのみ実行する必要があり、ユーザーに通知するイベントを発生させる必要があります。たとえば、チェックボックスはクリック時に checked プロパティを設定し、changed イベントを発生させます。パブリックプロパティの変更は、通常、非プリミティブ(オブジェクトまたは配列)プロパティには実行しないでください。要素が状態を管理する必要がある他の場合は、state デコレーターを介してデコレートされたプライベートプロパティを使用する必要があります。必要に応じて、状態プロパティは、複雑なインタラクションを容易にするためにパブリックプロパティを介して初期化できます。

クラスプロパティを要素のrenderRootでquerySelectorを実行するgetterに変換するプロパティデコレーター。

インポート

シグネチャ

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

パラメーター

selector
string

一致する1つ以上のセレクターを含むDOMString。

cache?
boolean

オプションのブール値。trueの場合、DOMクエリを一度だけ実行し、結果をキャッシュします。

クラスプロパティを要素のrenderRootでquerySelectorAllを実行するgetterに変換するプロパティデコレーター。

インポート

シグネチャ

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

パラメーター

selector
string

一致する1つ以上のセレクターを含むDOMString。

クラスプロパティを、指定されたslotassignedElementsを返すgetterに変換するプロパティデコレーター。HTMLSlotElement.assignedElementsを使用する宣言的な方法を提供します。

インポート

シグネチャ

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

パラメーター

options?
QueryAssignedElementsOptions

詳細

オプションのQueryAssignedElementsOptionsオブジェクトを渡すことができます。使用例

このプロパティの型は、Array<HTMLElement>としてアノテーションを付ける必要があることに注意してください。

クラスプロパティを、指定されたslotassignedNodesを返すgetterに変換するプロパティデコレーター。

インポート

シグネチャ

queryAssignedNodes(options?): TSDecoratorReturnType

パラメーター

options?
QueryAssignedNodesOptions

詳細

オプションのQueryAssignedNodesOptionsオブジェクトを渡すことができます。使用例

このプロパティの型はArray<Node>としてアノテーションを付ける必要があることに注意してください。要素のみをリストし、オプションでCSSセレクターを使用して要素リストをフィルター処理するには、queryAssignedElementsデコレーターを使用します。

クラスプロパティを、要素のupdateCompleteプロミスが解決された後に行われる要素のrenderRootでのquerySelectorの結果に解決されるプロミスを返すgetterに変換するプロパティデコレーター。クエリされたプロパティが要素の状態によって変化する可能性がある場合は、ユーザーがプロパティにアクセスする前にupdateCompleteを待機する必要がない代わりに、このデコレーターを使用できます。

インポート

シグネチャ

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

パラメーター

selector
string

一致する1つ以上のセレクターを含むDOMString。

変更時に要素の更新をトリガーするプライベートまたは保護されたリアクティブプロパティを宣言します。対応する属性からは反映されません。

インポート

シグネチャ

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

パラメーター

options?
InternalPropertyDeclaration<unknown>

詳細

この方法で宣言されたプロパティは、HTMLまたはHTMLテンプレートシステムから使用してはなりません。それらは要素内部のプロパティ専用です。これらのプロパティは、closure compilerのような最適化ツールによって名前が変更される可能性があります。

インポート

メソッドとプロパティ

プロパティが設定されたときに変更されたと見なすべきかどうかを示す関数。この関数は、newValueoldValueを受け取り、更新を要求する必要がある場合はtrueを返す必要があります。

パラメーター
value
oldValue

queryAssignedElementsデコレータのオプション。 HTMLSlotElement.assignedElementsに渡すことができるオプションを拡張します。

インポート

メソッドとプロパティ

返される要素をフィルタリングするために使用されるCSSセレクター。たとえば、".item"のセレクターは、itemクラスを持つ要素のみを含めます。

クエリするスロットの名前。デフォルトのスロットの場合は空のままにします。

queryAssignedNodesデコレータのオプション。 HTMLSlotElement.assignedNodesに渡すことができるオプションを拡張します。

インポート

メソッドとプロパティ

クエリするスロットの名前。デフォルトのスロットの場合は空のままにします。