Class: ObservableArray

ObservableArray

new ObservableArray()

ObservableArray(オブザーバブルアレイ)とは、通常の配列と同じAPIを持ち操作を外部から監視できる、配列とほぼ同じように利用可能なクラスです。 DOM要素のようにaddEventListenerでリスナーをセットすることで、配列に対するメソッド呼び出しをフックすることができます。

h5.core.data.createObservableArray()で作成します。

通常の配列と同様の操作に加え、要素の追加、削除、変更についての監視ができます。

Arrayクラスの持つメソッド(concat, join, pop, push, reverse, shift, slice, sort, splice, unshift, indexOf, lastIndexOf, every, filter, forEach, map, some, reduce, reduceRight)が使えます。

このクラスはEventDispatcherのメソッドを持ちます。イベント関連のメソッドについてはEventDispatcherミックスインを参照してください。
ObservableArrayは、自身の内容が変更されるメソッドが呼び出される時、実行前に'changeBefore'、実行後に'change'イベントを発生させます。

Since:
  • 1.1.0
Mixes In:
Source:

Members

(static) length :Number

配列の長さを表します。このプロパティは読み取り専用で使用してください
Type:
  • Number
Since:
  • 1.1.0
Source:

(static) relatedItem :DataItem|ObservableItem

ObservableArrayが所属しているDataItemまたはObservableItemのインスタンス

ObservableArrayがDataItemまたはObservableItemが持つインスタンスである場合、このプロパティにそのアイテムのインスタンスが格納されています。

Type:
Source:

Methods

(static) concat()

動作は通常の配列のconcatと同じです。
引数にObservableArrayが渡された場合にそれを通常の配列とみなして動作するようラップされています
Returns:
要素を連結したObservableArrayインスタンス
Since:
  • 1.1.3
Source:

(static) copyFrom(src)

指定された配列の要素をこのObservableArrayにシャローコピーします。

元々入っていた値は全て削除され、呼び出し後は引数で指定された配列と同じ要素を持ちます。

引数がnullまたはundefinedの場合は、空配列が渡された場合と同じ挙動をします(自身の要素が全て削除されます)
Parameters:
Name Type Description
src Array コピー元の配列
Since:
  • 1.1.0
Source:

(static) equals(ary) → {Boolean}

この配列が、引数で指定された配列と同じ内容か比較します。
要素にNaN定数が入っている場合、同一位置にともにNaNが入っているかどうかをisNaN()関数でチェックします。 (obsArrayの内容が[NaN]のとき、obsArray.equals([NaN]))はtrueになります。
Parameters:
Name Type Description
ary ObservableArray | Array ObservableArrayまたはArray型の配列
Returns:
判定結果
Type
Boolean
Since:
  • 1.1.0
Source:

(static) get(index)

値を取得します
Parameters:
Name Type Description
index Number 取得する要素のインデックス
Returns:
要素の値
Since:
  • 1.1.3
Source:

(static) set(index)

値をセットします
Parameters:
Name Type Description
index Number 値をセットする要素のインデックス
Since:
  • 1.1.3
Source:

(static) toArray()

現在のObservableArrayインスタンスと同じ要素を持ったネイティブ配列インスタンスを返します
Returns:
ネイティブ配列インスタンス
Since:
  • 1.1.3
Source:

addEventListener(type, listener)

イベントリスナを登録します。

第一引数にイベント名、第二引数にイベントリスナを渡し、イベントリスナを登録します。指定したイベントが起こった時にイベントリスナが実行されます。

イベントリスナは、関数またはEventListener インタフェースを実装するオブジェクト(handleEventプロパティに関数を持つオブジェクト)で指定できます。

指定したイベントに、指定したイベントリスナが既に登録されていた場合は何もしません。

同一のイベントに対して複数回addEventListener()を呼び、複数のイベントリスナを登録した場合は、イベント発火時に登録した順番に実行されます。

第3引数以降が指定されていても無視されます。

Parameters:
Name Type Description
type String イベント名
listener function | Object イベントリスナまたはhandleEventを持つイベントリスナオブジェクト
Since:
  • 1.1.0
Mixes In:
Source:

dispatchEvent(event) → {Boolean}

イベントをディスパッチします

イベントオブジェクトを引数に取り、そのevent.typeに登録されているイベントリスナを実行します。 イベントオブジェクトにpreventDefault()関数を追加してイベントリスナの引数に渡して呼び出します。

戻り値は『イベントリスナ内でpreventDefault()が呼ばれたかどうか』を返します。

Parameters:
Name Type Description
event Object イベントオブジェクト
Returns:
イベントリスナ内でpreventDefault()が呼ばれたかどうか。
Type
Boolean
Since:
  • 1.1.0
Mixes In:
Source:

hasEventListener(type, listener) → {Boolean}

イベントリスナが登録されているかどうかを返します

第一引数にイベント名、第二引数にイベントリスナを渡し、指定したイベントに指定したイベントリスナが登録済みかどうかを返します。

Parameters:
Name Type Description
type String イベント名
listener function イベントリスナ
Returns:
第一引数のイベント名に第二引数のイベントリスナが登録されているかどうか
Type
Boolean
Since:
  • 1.1.0
Mixes In:
Source:

removeEventListener(type, listener)

イベントリスナを削除します。

第一引数にイベント名、第二引数にイベントリスナを渡し、指定したイベントから指定したイベントリスナを削除します。

指定したイベント名に指定したイベントリスナが登録されていない場合は何もしません。

Parameters:
Name Type Description
type String イベント名
listener function イベントリスナ
Since:
  • 1.1.0
Mixes In:
Source: