我正在创建一个具有以下内容的外部网址的集合:
var todoCollection = Backbone.Collection.extend({
model: Todo
url: function() {
return "http:externalurl.com";
},
parse: function(dat) {
return dat.obj.data;
}
});
return new todosCollection;
我的模型看起来像这样:
var TodoModel = Backbone.Model.extend({
initialize: function() {}
});
return TodoModel;
现在我在这个视图中以这种方式使用该集合:
$.each(this.collection.models,function(i,model){
console.log(model);
})
问题是,我的模型没有被设置为TodoModel类型。它们是简单的对象类型。有人可以帮助我让我知道我在哪里错了吗?
谢谢。
答案 0 :(得分:1)
我不认为你是对的。 console.log
可能会说它是一个对象,但几乎可以肯定它是你的模型的一个实例。此外,如果您的示例中的代码是您的真实代码,那么它会被破坏,因为您使用带有向后参数的each
函数,而您使用的Todo
应该使用TodoModel
。
this.collection.each(function (model) {
console.log(model instanceof TodoModel);
});
答案 1 :(得分:1)
我认为你只是有一个错字。 model: Todo
应为model: TodoModel