1

ビュー内のコレクションを置き換えたい。次のようなリセットコマンドを使用します。

var maColl=mContent.get(ici).get("svgParameterList");  
msvgParameterListView.collection.reset(maColl);

AJSON.stringifyはこれを与えます:

マコール

    [{"id":"x","name":"x"},....{"id":"style","name":"style"}]  

msvgParameterListView.collection

    [[{"id":"x","name":"x"},....{"id":"style","name":"style"}]]  

今、私はコレクションを配列に持っているので、レンダリングするとnull値が返されます。

コレクションの配列をコレクションに変更するには?
つまり、 msvgParameterListView.collection を maColl と等しくするにはどうすればよいですか?

[[ ]]新しいコレクションの に注意してください。
注意 maColl は別のコレクション内のコレクションです。

4

1 に答える 1

2

私の理解が正しければ、コレクションを別のコレクションのモデルでリセットしようとしているのですか? collection.toJSONあなたの友達です:

コレクション
の各モデルの属性ハッシュを含む配列を返します。これを使用して、コレクション全体をシリアル化し、永続化できます。このメソッドの名前は、JavaScript の JSON API に準拠しているため、少し混乱します。

このように適用できます

msvgParameterListView.collection.reset(maColl.toJSON());

または、元のモデルへの参照を保持したい場合は、maColl.models

msvgParameterListView.collection.reset(maColl.models);

コレクションを直接渡すと、resetBackbone が混乱するだけです。

于 2012-07-20T12:46:10.830 に答える