1

フェッチを使用してバックボーンでコレクションを初期化しようとしています。私の見解では次のようになっています。

initialize: function()
{
    _.bindAll(this, 'render', 'addItem', 'appendItem');

    this.collection = new MembersCollection();

    this.collection.bind('add', this.appendItem);

    this.collection.fetch({success: _.bind(function(blah)
    {
        console.log(blah);

        this.render();

    }, this)});
}

動作しているようです。正しいモデル数で正常な応答が得られ、各モデルの正しいビュー数がレンダリングされますが、model.attribute値を調べると、デフォルト値のみが含まれ、からの値は含まれていません。サーバー?

JSON応答を確認すると、そこに適切なデータが表示されますが、データを設定するために必要な、見逃した可能性のあるものはありますか?

4

2 に答える 2

2

最近、同様の問題が発生したと思います。モデル定義からデフォルトを削除すると問題が解決し、必要なかったのでそのままにしておきました。おそらく、デフォルトを定義する場合は、設定するすべての属性を含める必要があると思いますが、それについては引用しないでください。デフォルトなしで試して、どのようになるかを確認してください。それでも問題が解決しない場合は、モデル定義と、応答で返されたjsonのサンプルを提供することをお勧めします。

于 2012-07-09T04:46:19.953 に答える
0

私は同じ問題を抱えていました-私のものはモデルの解析メソッドが原因でした。

コレクションのフェッチ呼び出しによって返された配列内のアイテムごとにモデルが作成されるときに、モデルの解析メソッドが呼び出されることがわかります。

直接モデルフェッチから返されたjson/objectは、コレクションの返された配列のjson / objectとは異なりました。これにより、配列アイテムから作成されたときに、モデルのparseメソッドがundefinedを返しました。

于 2014-04-04T07:51:38.660 に答える