Backbone collection fetch的问题

发布于 2022-09-02 11:08:26 字数 574 浏览 14 评论 0

我希望通过fetch方法重置collection对象, 但是返回的json格式无法实现理想的数据填充。

    var Posts = Backbone.Collection.extend({
        url: "/api/classes/Post",
        model: Post
    })
    
    var posts = new Posts
    
    posts.fetch()
    
    console.assert(posts.models.length === 3)
    /* 失败了 因为返回数据不是一个数组而是对象,返回数据格式被固定化了,有什么办法可以从js代码方面去解决这个问题?*/
    
/* 返回数据的格式 */
{
    data: [{
        title: 't1',
        content: 'c1'
    }, {
        title: 't2',
        content: 'c2'
    }, {
        title: 't3',
        content: 'c3'
    }]
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

北渚 2022-09-09 11:08:26

自己在stackoverflow查到了相类似的问题
how-can-i-get-backbone-data-from-nested-json-key

可以通过增加一个parse方法来解决这个问题。

    var Posts = Backbone.Collection.extend({
        url: "/api/classes/Post",
        model: Post,
        parse: function(res){
            return res.data
        }
    });
心舞飞扬 2022-09-09 11:08:26
var posts = new Posts()

posts.fetch()

// 这样是否是你想要的?
posts.models = posts.models.data

console.assert(posts.models.length === 3)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文