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>
を所有していない場合
- 対象の
TypeError
targetElement
として渡された値がnull
やstring
、Element
、Array<Element>
以外だった場合
解説
disrelateElements()
の結果、relateElements()
で追加されていた要素への参照が消去されます。
また、要素に ProtoViewLogic
へのイベント通知のためのイベントリスナーが登録されていた場合、それらのイベントリスナーの登録を解除します。
同様に、要素に設定された所有権は破棄されます。
メッセージ
メッセージの概要についてはメッセージパッシングを、他のメッセージについては ViewLogic
の状態変更を通知するメッセージを参照してください
この関数の呼び出し後、対象の ProtoViewLogic
から自身に対してプロパティ id
として vl$propertiesModified
を値に持つメッセージが送られます。このメッセージが持つプロパティは以下の通りです:
id
:"vl$propertiesModified"
code
:null
param
:{ addedProperties, removedProperties }
addedProperties
:({ [property_name: string]: Element | Array<Element> })?
--- 新たにプロパティとして追加された要素です。removedProperties
:({ [property_name: string]: Element | Array<Element> })?
--- プロパティから取り除かれた要素です。
origin
:ProtoViewLogic
target
:ProtoViewLogic