NOODL.MODEL

JavascriptからModelにアクセスできる。

Noodl.Model.get(id)
指定したIDのモデルを返す。IDが使用されていない場合は新規の空のモデルを返す。モデルが既に存在するかどうか確認するにはNoodl.Model.existsファンクションを使用する。

Noodl.Model.create(data)
新規のモデルを作成し、それを返す。モデルのプロパティは提供されたデータのものになる。モデルプロパティの一部ではなかったり、モデルのIDとなったりするID属性は稀なケースである。(例:以下のコードでは2つのプロパティからモデルが作成され、IDは’A’になる。)

Noodl.Model.create({
  id:'A',
  myProp1:10,
  myProp2:'Hello',
  myProp3:Noodl.Model.create({anotherProp:15})
})

どのIDも提供されない場合、新規で作成されたモデルにはユニークIDを割り当てられる。上記の例で説明したように、モデルプロパティは別のモデルも含有することができる。

Noodl.Model.exists(id)
指定したIDをもつモデルがNoodl.Model.getかNoodl.Model.create.の呼び出しによって作成される場合は、trueを返す。

model.on(event,listener)
model.on(event,listener)
model.off(event,listener)
モデルにイベントリスナーを追加/削除する
Supported events:

  • change – モデルのプロパティが変更される
  • add – モデルがコレクションに追加される
  • remove – モデルがコレックションから削除される

Example usage:

myModel.on('change',function(args) {
  // property with name args.name was changed
  // new value in args.value
  // old value in args.old
});

myModel.on('add',function(args) {
  // model was added to the collection args.collection
});

myModel.on('remove',function(args) {
  // model was removed from the collection args.collection
});

model.getId()
モデルのIDを返す

model.set(name,value,options)
モデルのプロパティをセットする。プロパティの名前と値がファンクションに提供される。

myModel.set('myProp1',44)

サブプロパティをドット(.)表記を使用してセットすることもできる。モデルのプロパティが別のモデルであれば、モデルにプロパティをセットすることができる。
例えばmyProp3.anotherProp。このときオプション{resolve:true}をセットすることが必要。

myModel.set('myProp3.anotherProp',50,{resolve:true})

model.setAll(data)
指定するオブジェクトの全てのプロパティを実行するファンクション。データオブジェクトの全プロパティを呼び出すセットと同等になる。

model.get(name,options)
指定した名前のプロパティの値を返す。セットファンクションとしてドット(.)表記を使用することでモデルがプロパティとして別のモデルをもつことができる。このときオプション{resolve:true}をセットすることが必要。

myModel.get('myProp3.anotherProp',{resolve:true})