在集合数据中传递其他变量

时间:2013-01-27 21:02:01

标签: backbone.js

我使用按钮添加帖子,在点击上加载10个帖子。问题是如果没有帖子,我不知道何时隐藏该按钮。

所以我认为我需要在aditional variable中传递collection data(从JSON收到),这告诉骨干网有更多帖子。如何从集合中接收此变量?这是正确的事吗?

如果没有额外的数据库调用,也许有更好的方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

如果您绝对需要避免其他服务调用,请将您的集合API响应打包在一个包装元素中,该元素会告知是否有更多帖子。

获取/发布:

{
  more: true,
  posts: [
    {id:1, title:"..."},
    {id:2, title:"..."},
    {id:3, title:"..."},
  ]
}

使用Collection.parse解包数据:

parse: function(response) {
  this.more = response.more;
  return response.posts;
}

所以你可以从集合中查看它:

if(collection.more) {
  //..
}

但是,如果您的数据是易变的,即当用户在页面上时可能会创建新帖子,这意味着用户在他们一旦到达之后就无法加载更多帖子结束了。