0

シンプルなBackboneアプリとPusherを組み合わせようとしています。私が持っているのは、アイテムモデルのバックボーンコレクションです。アプリケーションは、これらのモデルの一部が更新されたというイベントをPusherから受け取ることができます。

コードをPusherから切り離して、バックボーンイベントを拡張し、プッシャーイベントを受信し、バックボーンイベントを公開するアプリ全体のNotifierを作成したいと思います。

今私の質問は、コレクション内のモデルをどのように更新できますか?作成時にNotifierをCollectionに提供し、変更されたモデルをチェックする(イベントデータを持つ)Notifierのイベント関数にバインドし、独自のコレクションでそのようなモデルを検索し、それに応じて更新し、ビューができるように「change」イベントを公開することを考えていましたそれに応じて反応します。

それは良い方法ですか?コレクション内の適切なモデルの検索はあまり効率的ではない可能性があるため、すべてのモデルインスタンスに通知機能を提供し、変更時にすべてのモデルに通知し、1つのターゲットモデルインスタンスのみが反応する条件を実装することも考えていました。

4

2 に答える 2

1

バックボーンでプッシャーを使用するのに役立つライブラリがいくつかあります。

于 2012-11-02T07:22:13.557 に答える
0

クライアント側:

var channel = pusher.subscribe('xxxx');        

channel.bind('xxxx', function(data) { //xxxx could be a json data object 
  var obj = $.parseJSON(data); 
  var mdl.coll.get(obj.id);

  if (mdl) { 
    mdl.set(obj, {silent: true}); //         console.dir(mdl.changed);
  }
}
于 2012-11-01T23:35:01.940 に答える