我最近将我的主干 js 文件更新到了最新版本,你知道什么东西正在破坏 - 太令人沮丧了。我在一个视图中实例化一个集合,我试图遍历集合,但它只输出集合中的最后一项无法弄清楚为什么这是我的代码
NavView = Backbone.View.extend({
el : $('ul'),
initialize: function(){
_.bindAll(this, 'render');
this.navCollection = new NavigationCollection([ {name: "home", href: '/home'},{name: "about", href:'/about'},{name: "contact", href: '/contact'}]);
this.render();
},
我已经尝试了很多方法来呈现下面的集合代码
render : function() {
this.navCollection.each(function (item) {
$(this.el).append("<li><a href=" + item.get("href") + ">" + item.get("name") + "</a></li>");
}, this);
return this; // remember this for chaining
//also tried this method as well
_.each(this.navCollection.models, function(item){
//$(this.el).append("<li><a href=" + item.get("href") + ">" + item.get("name") + "</a></li>");
$("<li><a href=" + item.get("href") + ">" + item.get("name") + "</a></li>").appendTo(this.el);
},this)
return this; // remember this for chaining
},
无论哪种方式,它只输出最后一个项目联系人而不是三个项目,请参见此处http://dalydd.com/projects/backbone/backbone.html
var NavigationItem = Backbone.Model.extend({
defaults: {
name: '',
href: '',
last: false,
id: ''
},
initialize: function() {
}
});
var NavigationCollection = Backbone.Collection.extend({
model: NavigationItem,
});
在它输出所有内容之前,但是当我将主干更新到较新版本时,它只打印出 1 - 一如既往地感谢任何帮助。
谢谢