2011-07-19 2 views
1

私はBacbkoneJSにCollectionオブジェクトに、新しいモデルをそのコレクションに追加すると同時に、新しいモデルをサーバーにプッシュするメソッドがあることに気付きました。これは、ajaxリクエストが成功した場合にのみ新しいモデルをコレクションに追加するため便利です。モデルのIDもサーバーから返されたIDで更新されます。 AJAXリクエストが200BackboneJS、作成して破棄しますが、更新方法はありませんか?

どのように私は私がデータを設定更新、とこれに似た何かを達成することができますを返す場合

破壊と呼ばれるモデルオブジェクトに類似した方法でもあり、これが唯一のモデルを破壊します私のモデルでは、モデルをサーバーに保存し、200のステータスを確認してから、「変更」イベントを発生させようとしますか?

問題はモデルデータを設定すると(私はsave()を呼び出すためにこれを行う必要があります)、変更イベントが発生します。

おかげ

答えて

1

Backbone.Model.save()メソッドは、あなたが変更したいプロパティを指定することができます。 annotated source codeを見ると、サーバーからの応答が成功した場合に "model.set()"が発生するようです。

ので、代わりに

​​3210

を行うの

myModel.save({this:"that"}); 

を行うと、変更イベントは保存に成功した後に発射する必要があります。

注:これはテストしていません。これはソースを読んだことによるものです。

+0

私はこれを完全に見落としました!ありがとうございます=) –

+0

これをもっと見ると、モデルを設定し、サーバーに保存する前に変更イベントを発生させるようです。したがって、サーバが200を返さなくても、クライアントモデルはまだ更新されています。 –

関連する問題