Javascript 主干将模型视为集合
因为集合实际上是一个模型,所以它有属性等等,如本例所示Javascript 主干将模型视为集合,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,因为集合实际上是一个模型,所以它有属性等等,如本例所示 var Images = Backbone.Collection.extend({ url: 'https://api.myjson.com/bins/4v2d8' }); var View = Backbone.View.extend({ el: $('.images'), initialize: function(){ this.listenTo(this.collection, 'sync', this.re
var Images = Backbone.Collection.extend({
url: 'https://api.myjson.com/bins/4v2d8'
});
var View = Backbone.View.extend({
el: $('.images'),
initialize: function(){
this.listenTo(this.collection, 'sync', this.render, this); // what is this keyword as the last param here?
},
render: function(){
this.collection.each(function(model){
this.$el.append($('<p>'+model.get('name')+'</>' ));
}, this);
}
});
$(function(){
var images = new View({ collection: new Images() });
images.collection.fetch();
});
var Images=Backbone.Collection.extend({
网址:'https://api.myjson.com/bins/4v2d8'
});
var View=Backbone.View.extend({
el:$(“.images”),
初始化:函数(){
this.listenTo(this.collection,'sync',this.render,this);//这里最后一个参数是什么关键字?
},
render:function(){
此.collection.each(函数(模型){
这个.el.append($(''+model.get('name')+''));
},这个);
}
});
$(函数(){
var images=新视图({collection:new images()});
image.collection.fetch();
});
但是为什么这个不起作用呢
我用Model
替换了Collection
,并传递给视图。我得到了这个.model.每个未定义的
因为集合实际上是一个模型
不,这是错误的假设。集合不是一个模型,这就是代码无法工作的原因
模型没有each方法,您的代码抛出以下错误:
Uncaught TypeError: this.model.each is not a function(…)
不要按照另一个答案迭代模型属性并打印其名称,这没有意义。因为模型应该代表一个实体,比如一个人。它只有一个包含名称的属性,对模型属性进行迭代以访问其中一个属性没有意义,您可以使用get()
方法直接访问它的属性,而无需进行迭代。虽然是对的,但他没有详细说明原因
主干模型具有许多用于管理的功能,通常由id引用
主干网集合是一组主干网模型实例。它有一些相似的和许多不同的功能来管理its,its是模型实例存储的地方
其中一些函数是函数的代理
- 钥匙
- 价值观
- 成对的
- 倒置
- 挑
- 省略
- 链子
- 空空如也
目前共46个,见列表
是对的代理
主干网的模型没有每个
函数,因为它没有真正意义,并且有更好的方法循环模型的属性。“既然集合实际上是一个模型”-什么?你是从哪里/如何得出这个结论的?实际上,在本例中,模型返回了一个假帐户list@V.S.V然后,您应该首先使用get()
访问属性,然后使用\uU4.each()
(或任何您喜欢的循环)对其进行迭代以访问项目。从模型的角度来看,这只是另一个属性……那么你从model.get()列表项中会得到什么?@V.s.V该端点返回一个项目数组。为此,您需要一组模型,而不是单个模型。模型是针对单个项目的。我知道我只写了一个模型,它将像集合一样工作(这是一个糟糕的做法)。我只是写下在他的情况下什么会起作用,很抱歉我会改变它:)请检查这个链接,我不说他错了,只是check@V.S.V是的,我见过,传递给集合的标准模型数组。我遗漏了什么?你读过问题了吗?这家伙想把它改成模型(不是收藏)@EmileBergeron@V.S.V我完全阅读了这个问题,它并没有真正解释桑迪想要什么,只是这个.model。每个都是未定义的。您的答案只是错误地使用了集合之类的模型。没有道理。对不起,我的错:(
collection.each(iteratee, [context])