0

Tastypieはdjangoプロジェクト用のRESTfulAPIを提供しているので、Backbone.jsを使用できます。URLを押してリソースのコレクションを取得すると、tastypieには、アクセスできないページネーションに関するデータが含まれています。初期化関数でコレクションを初期化してからレンダリングするバックボーンビューがあります。

MyView = Backbone.View.extend({
  ...
  initialize: function() {
     this.collection = new MyCollection;
     this.render();
  }
  ...
  render: function() {
     console.log(this.collection); // this.colllection.toJSON() returns []
     console.log(this.model);  // this.model.toJSON() returns the object
  }
});

this.collectionのmeta属性に次のページへのリンクが含まれていますが、アクセスできません。コレクションでtoJSON()を呼び出すと、[]が返されます。問題は、console.log(this.collection)がこれを与えることです:

> child
_byCid: Object
_byId: Object
_callbacks: Object
length: 3
meta: Object
models: Array[3]
toJSON: function (key) {
__proto__: ctor

必要なURLはthis.collectionのメタ属性内にありますが(表示されます!)、アクセスできません。toJSONの呼び出しはモデルでは機能しますが、コレクションでは機能しません。コレクションの属性にアクセスするにはどうすればよいですか?

4

1 に答える 1

1

次のように簡単にできますthis.collection.metaか?

アップデート

またconsole.log、単純ではないオブジェクトをデバッグしている場合は、慎重に使用する必要があり、信頼しないでください。次を確認してください。

あなたのコードで試してください:

this.collection.fetch({
  success: function( collection ) { 
    console.log( "collection.meta", collection.meta ) 
  } 
});
于 2012-08-16T08:40:13.103 に答える