0

コレクション内のモデルを印刷すると、バックボーン コレクションと同じ長さの"undefined" と の 2 つのリストが表示contextされます。collection

var collection = new Backbone.Collection([{x:1},{x:2},{x:3}]);
print(collection.at(0));

{
  _callbacks: {
    all: {
      next: {
        callback: function (event, model, collection, options) {...},
        context: [undefined, undefined, undefined],
        next: {}
      },
      tail: {}
    }
  },
  _escapedAttributes: {},
  _pending: {},
  _previousAttributes: {x: 1},
  _silent: {},
  attributes: {x: 1},
  changed: {},
  cid: "c11",
  collection: [undefined, undefined, undefined]
}
4

1 に答える 1

3

contextはイベントのコールバックの「this」値です (onメソッドの使用についてはバックボーンのドキュメントを確認してください)。collection は Model インスタンスが属する Backbone.Collection への参照です。追加してモデルを作成するときに自動的に作成される参照です。コレクションへのデータです(モデルのjson表現の例のように)。コレクションとモデル間の階層的な通信が可能になり、モデルのみにアクセスできるコレクションのイベントを簡単にリッスンできます (たとえば、アイテム ビューで)。

奇妙に見えるのは、未定義の値の配列として表示されることcontextですcollection-使用しているバックボーンのバージョンと環境はわかりませんが、それが正しければ、Backbone.Collectionさらに展開して検査できるインスタンスまたは参照が表示されるはずです(ブラウザーの JS コンソールを使用していると仮定します)。コレクション参照をこれらの配列に変換する奇妙なことを print メソッドが行っている可能性があると思います。

于 2012-10-07T13:29:23.193 に答える