访问Backbone.js中的javascript对象属性

时间:2012-08-16 07:59:44

标签: javascript backbone.js tastypie

Tastypie为django项目提供RESTful API,因此我可以使用Backbone.js。当我点击网址获取资源集合时,tastypie包含有关分页的数据,我无法访问。我有一个Backbone View,我在初始化函数中初始化一个集合,然后渲染:

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

我想要的网址是this.collection的meta属性(所以我可以看到它!),但我无法访问它。调用toJSON适用于模型,但不适用于集合。我如何访问集合的属性?

1 个答案:

答案 0 :(得分:1)

可以像this.collection.meta一样简单吗?

更新

此外,您必须仔细使用console.log,并且在调试非简单对象时不要相信它,请检查:

在您的代码中尝试:

this.collection.fetch({
  success: function( collection ) { 
    console.log( "collection.meta", collection.meta ) 
  } 
});