ProtoViewLogic: disrelateElements()
引数により指定された HTML 要素と対象の ProtoViewLogic の関連づけを解消します。
構文
protoViewLogic.disrelateElements() => object
protoViewLogic.disrelateElements(targetElement) => object
protoViewLogic.disrelateElements(targetElementName) => object
引数
-
targetElement:null|string|Element|Array<Element>関連づけを解消する対象です。
nullの場合、メソッド relateElements() によって割り当てられたプロパティすべてを削除し、参照している Element の所有権をすべて削除します。stringの場合、対象のProtoViewLogicから同名のプロパティを取得し、そのプロパティが持つ Element への参照を削除します。
返値: object
関連づけが解消された Element および Array<Element> をプロパティに持つオブジェクトです。
例外
ReferenceError- 対象の
ProtoViewLogicに指定の名前のプロパティが存在しない場合 - 対象の
ProtoViewLogicがtargetElementで指定したElementまたはArray<Element>を所有していない場合
- 対象の
TypeErrortargetElementとして渡された値がnullやstring、Element、Array<Element>以外だった場合
解説
disrelateElements() の結果、relateElements() で追加されていた要素への参照が消去されます。
また、要素に ProtoViewLogic へのイベント通知のためのイベントリスナーが登録されていた場合、それらのイベントリスナーの登録を解除します。
同様に、要素に設定された所有権は破棄されます。
メッセージ
メッセージの概要についてはメッセージパッシングを、他のメッセージについては ViewLogic の状態変更を通知するメッセージを参照してください
この関数の呼び出し後、対象の ProtoViewLogic から自身に対してプロパティ id として vl$propertiesModified を値に持つメッセージが送られます。このメッセージが持つプロパティは以下の通りです:
id:"vl$propertiesModified"code:nullparam:{ addedProperties, removedProperties }addedProperties:({ [property_name: string]: Element | Array<Element> })?--- 新たにプロパティとして追加された要素です。removedProperties:({ [property_name: string]: Element | Array<Element> })?--- プロパティから取り除かれた要素です。
origin:ProtoViewLogictarget:ProtoViewLogic