Javascript 传递参数
我对阅读主干js是新手,我在主干js中传递参数时遇到了一些严重的问题Javascript 传递参数,javascript,events,backbone.js,parameter-passing,built-in,Javascript,Events,Backbone.js,Parameter Passing,Built In,我对阅读主干js是新手,我在主干js中传递参数时遇到了一些严重的问题 var-Song=Backbone.Model.extend(); var Songs=Backbone.Collection.extend({ 型号:宋 }); var SongView=Backbone.View.extend({ 埃尔:“李”, render:function(){ this.el.html(this.model.get(“title”); 归还这个; } }); var SongsView=Backbo
var-Song=Backbone.Model.extend();
var Songs=Backbone.Collection.extend({
型号:宋
});
var SongView=Backbone.View.extend({
埃尔:“李”,
render:function(){
this.el.html(this.model.get(“title”);
归还这个;
}
});
var SongsView=Backbone.View.extend({
el:“ul”,
初始化:函数(){
this.model.on(“添加”,this.onsong添加,this);
},
onSongAdded:function(song){//将对象添加到集合时,添加事件为triggerd
//此事件的处理程序获取一个参数,该参数是刚刚添加的对象
//在本例中,它引用了一个歌曲模型,所以我们只需将它传递给负责呈现歌曲的songView,然后使用jquery append方法
//将其添加到我们的列表中
var songView=new songView({
型号:宋
});
这个.el.append(songView.render().el);
},
render:function(){
var self=这个;
this.model.each(函数(歌曲){//
var songView=new songView({
型号:宋
});
self.$el.append(songView.render().$el);
});
}
});
新歌曲([
新歌({
标题:“1”
}),
新歌({
标题:“2”
}),
新歌({
标题:“3”
})
]);
var song_1=新歌({
标题:“你好”
});
var songsView=新的songsView({
el:“歌曲”,
模特:歌曲
});
songsView.render();
如您所见,我有一个函数:onsongsadded
我们有一些内置事件,例如add,它可以获得如下3个参数:
添加(集合、模型、选项)
如何在代码中使用这些参数?
您能帮助我吗?
el
选项用于将视图指向DOM中已经存在的元素。您的项目视图应该创建新的
元素,因此您应该使用标记名
选项
在集合视图构造函数中,您定义了el
选项,并在实例化它时传递了一个不同的el
选项。如果#songs
是DOM中的
,那么在构造函数中定义el:“uL”
是没有用的
此外,不需要手动实例化模型,您只需将对象传递到集合中,集合将在内部执行此操作。不要将集合作为
model
传递,将其作为collection
传递el
选项用于将视图指向DOM中已经存在的元素。您的项目视图应该创建新的
元素,因此您应该使用标记名
选项
在集合视图构造函数中,您定义了el
选项,并在实例化它时传递了一个不同的el
选项。如果#songs
是DOM中的
,那么在构造函数中定义el:“uL”
是没有用的
此外,不需要手动实例化模型,您只需将对象传递到集合中,集合将在内部执行此操作。不要将集合作为模型
传递,而是将其作为集合
传递