例えば View が listenTo() を使って Model の変更を監視し、
変更があったら画面へ反映させるといったことができます。
しかし、画面へ反映させず Model だけをこっそり変更したい場合があるかもしれません。
その場合は Model 変更時に silent オプションを追加することで実現出来ます。
silent に設定された操作は、他のオブジェクトへイベントを発行しません。
addBookSilentButtonHasClicked: function() { var title = window.prompt('タイトルを入力してください'); if(title == '') { return; } this.model.add({title: title}, {silent: true}); }
以下に実際に動くサンプルプログラムを置きました。
http://okanoworld.appspot.com/sample/backbonejs/silent_event/index.html
ソースコードは GitHub で公開しています。
https://github.com/yokano/sample/tree/master/backbonejs/silent_event
リストにモデルの内容が表示されています。
左側の追加ボタンを押すと通常通りモデルが追加されます。
サイレントボタンを押すと、 slient にモデルが追加されます。
silent の場合は View は Model の変更を通知されないので画面の再描画が行われません。
0 件のコメント:
コメントを投稿