View中的集合没有这个方法

时间:2013-01-22 15:57:06

标签: javascript model-view-controller backbone.js

我有我的观点:

var TryView = Backbone.View.extend({

initialize: function(){
    this.render();
},

render: function(){

    var test = this.collection.get(0);
    this.collection.each(function(model){
    document.write(model.id+"<br>");
    });
}

});

以及使用一些现有(工作)集合创建它的顺序。

var testView = new TryView({collection: test.TestCollection});

但我得到错误:

  

Object function(){parent.apply(this,arguments);没有方法'get'

与fetch相同

2 个答案:

答案 0 :(得分:3)

您正试图致电“课堂”test.TestCollection。当你这样做时

var testView = new TryView({collection: test.TestCollection});

您将TestCollection'类'(js中只有类,只是函数)作为View的collection - 属性。您必须提供TestCollection的实例

var testCollection = new test.TestCollection();
var testView = new TryView({collection: testCollection});

希望这有帮助!

答案 1 :(得分:0)

传递集合实例

new TryView({collection: new test.TestCollection});