0

モデルのバックボーン コレクションと、このコレクションのリスト ビューがあります。

<ul>
  <li><input type="checkbox"/> <span>Title</span></li>
  ...
</ul>

ユーザーがチェックボックスをクリックすると、このコードが実行されます

Actions.save({id: model.cid, data: {select: true}})

ディスパッチャーでのこのアクション トリガー イベントsave-modelとここでの質問 - 誰がこのイベントを処理する必要がありますか?

2 つのオプションがあります。

1) コレクション

Dispatcher.on('save-model', function (event) {
  var model = collection.get(event.cid);
  if (model) {
    model.set(event.data);
  }
});

2) コレクション内の各モデルは dispathcer をリッスンする必要があります

Dispatcher.on('save-model', function (event) {
  if (model.cid === event.cid) {
    model.set(event.data);
  }
});
4

1 に答える 1

0

オプション#1-コレクションに行きます。私の見解は、このようにイベントを一度だけ処理する必要があるということです。モデルにバインドすると、たとえばコレクションに 1k モデルがあり、1k イベントがトリガーされて一致するかどうかがチェックされ、属性が設定されます。

于 2015-01-07T09:44:24.467 に答える