ProtoViewLogic: reflectValues()
関連付けられた Element
を特徴づけるプロパティの値を変更します。
構文
protoViewLogic.reflectValues(elementValuePair) => object
引数
-
elementValuePair
:object
変更対象の関連付けられた
Element
を指すプロパティ名と同名のプロパティを持つオブジェクトです。値はそれぞれのキーに対応する
Element
のdata-primary
属性が指すプロパティか、data-primary
属性が設定されていなければ、value
プロパティに対して設定されます。
返値: object
更新された要素の名前と値の組です。この値は、reflectValues()
の呼び出しによって値の更新に成功したかどうかに利用できます。また、他のデータオブジェクトに更新内容を反映する際、引数として与えた elementValuePair
の代わりにこの値を使うことで、差分の確認を最小限にできます。
例外
TypeError
- 引数
elementValuePair
が非null
のobject
でなかった場合
- 引数
解説
この関数や ProtoViewLogic.curateValues()
は ProtoViewLogic
と ObservableObject
のデータ同期に使われます。
ProtoViewLogic
が ObservableObject
に結合されている場合、以下のタイミングで ProtoViewLogic.reflectValues()
や ProtoViewLogic.curateValues()
が呼び出されます:
- バインディングソースの
ObservableObject
が更新されたとき - 他のバインディングターゲットが更新されたとき
これは、バインディングソースや他のバインディングターゲットに対しても同様です。
バインディングソースが存在する場合、この関数の返値には、バインディングソースの reflectValues()
の返値が使用されます。