3

モデルのデータをフェッチするときの「成功」コールバックの目的と、「変更」イベントのメソッドにバインドする目的は何ですか?

「成功」コールバック

this.model.fetch({
  url: '...'.

  success: function(response) {
    ...
  }
});

対モデル「変更」バインディング

this.model.bind("change", this.attributesChanged);
4

3 に答える 3

7

通常、モデル自体の外部でフェッチを呼び出し、モデルでトリガーされる追加の成功関数コールバックが必要な場合は、フェッチ成功コールバックを使用します。

また、サーバーへの保存に失敗した場合でも「変更」イベントがトリガーされる可能性があるため、CRUD イベントには注意してください。モデルが変更されたときに「変更」がトリガーされることに注意してください。バージョン 0.9.0 以降、この問題に対処するために「同期」イベントが追加されました。これは、モデルの状態がサーバーと正常に同期されるたびにトリガーされます。

于 2012-06-06T18:29:03.687 に答える
2

その点で「成功」または「エラー」を使用する主な理由は、「変更」はモデルの変更が成功した場合にのみ発生するため、応答に基づいて機能を実行することです。何らかの理由でフェッチが失敗した場合、「変更」は起動しません。コールバックを使用すると、もう少し細かいレベルの制御が可能になります。とはいえ、応答にいつ応答したいかについては、個人的な好みに要約されます。私の考えでは、成功した CRUD 操作に応答して何かを行うことにのみ関心がある場合は、エラーを無視するだけなので、「変更」をリッスンすることは完全に適切であると考えています。

于 2012-06-06T18:16:14.460 に答える