私はこれら2つの方法でドキュメントを読み、読んだことがありますが、私の人生の中では、BackboneJS collection.reset()vs collection.fetch()
誰かが私に基本的なコードの状況を伝えて、アプリケーションが適用され、他が適用されないようにすることができますか?
私はこれら2つの方法でドキュメントを読み、読んだことがありますが、私の人生の中では、BackboneJS collection.reset()vs collection.fetch()
誰かが私に基本的なコードの状況を伝えて、アプリケーションが適用され、他が適用されないようにすることができますか?
reset()は、コレクションを新しい配列に置き換えるために使用されます。たとえば:
@collection.reset(@full_collection.models)
は空のコレクションを返しますが
@collection.reset()
、@full_collectionsモデルをロードします。 fetch()関数は、モデルのデフォルトコレクションを返します
ここではdocumentationを読んでいるとします。そうでない場合は少し混乱します。
あなたはそれが言っていること、fetchとresetの文書を見れば、あなたはcollection
のurl
プロパティに指定したと - いくつかのサーバーコードを指しているかもしれない、とmodels
のjson
配列を返す必要がありますが、あなたcollection
にmodels
が返されるようにしたい場合は、fetch
を使用します。あなたは以下のJSONは、コレクションのURL上のサーバから返されてきた例えば
:成功したフェッチした後、あなたのコレクション内の3つのモデルを作成します
[{
id : 1,
name : "a"
}, {
id : 2,
name : "b"
}, {
id : 3,
name : "c"
}]
。 collection fetch
hereのコードを検索すると、取得で応答が得られ、指定されたオプションに基づいてreset
またはadd
が内部で呼び出されます。 reset
は、すでにjson of models
がコレクションに格納されていると仮定して、パラメータとして渡します。あなたの人生では、あなたがコレクションを更新したいと思って、あなたが既にクライアント側にモデルを持っているなら、fetch
を使う必要はなく、reset
はあなたの仕事をします。
あなたはこのような何かを行うことができますリセットの助けを借りて、コレクションに充填するために、同じJSONにしたい場合はこのため、:
var _self = this;
$.getJSON("url", function(response) {
_self.reset(response); // assuming response returns the same json as above
});
まあ、これがために、従うべきプラクティスではありませんこのシナリオfetch
はより良いです、それはちょうど例として使用されます。
リセットのもう1つの例はdocumentationページです。
は、それがアイデアを少し与え、より良いあなたの人生を作るホープ:)
このような良い、簡潔、完全な答えのおかげでたくさん:) – benhowdle89
この答えは完全ではありません。コレクション内の既存のすべてのモデルに対する書き込みをリセットしますか? –
@AlexMillsはい、クリアしてから設定します – McGarnagle