我对 Backbone 很陌生,只是遇到了这个令人困惑的问题。我正在尝试使用以下代码在 Express node.js 服务器中将模型提取到我的集合中:
app.get('/tweet', function(req,res){
res.send([{ name: 'random_name' }, {name: 'diren_gezi'}] );
});
我的主干代码如下所示:
var PostsApp = new (Backbone.View.extend({
Collections: {},
Models: {},
Views: {},
}
start: function(){
var data = {
posts: [
{name:"gorkem"},
{name: "janish"},
{name: "akash"}
]
};
var posts = new PostsApp.Collections.Posts(data.posts);
var postsView = new PostsApp.Views.Posts({collection: posts});
posts.url = "/tweet";
posts.fetch();
console.log(posts.length);
console.log(posts);
}
}))({el : document.body});
我希望 console.log(posts.length) 返回 5,因为我在初始化时添加了 3,而在获取时又添加了 2。或者即使 fetch 方法删除了集合并重新填充,我希望 post.length 返回 2。但是它返回 3,但是当我从控制台查看 post 对象时,我只看到两个模型,一个来自fetch() 方法。这是什么原因?