【问题标题】:Backbone Collection jsonp ajax results not generating model correctly骨干收集 jsonp ajax 结果未正确生成模型
【发布时间】:2011-12-08 21:21:55
【问题描述】:

http://jsfiddle.net/nf8NM/3/

这是我第一次涉足 Backbone,我只是想从 Dribbble 获取 Api 调用。

我正在尝试以最原生于 Backbone 的方式进行操作。然而,它似乎在做一些有趣的事情。

此时我并不关心实际渲染,我只想为来自 Api 的每个响应使用模型正确设置集合。

任何提示和方向都会很棒。我完全做错了吗?

【问题讨论】:

    标签: backbone.js jsonp


    【解决方案1】:

    不确定您的问题是什么。重写一点你的集合类来分离关注点,我得到了完全有效的模型。

    Shot = Backbone.Model.extend({
        initialize:function(opts) {
            console.log("init shot : "+opts.id);
        }
    });
    ShotsList = Backbone.Collection.extend({
        model: Shot,
        sync: function(method, model, options) {
            var params = _.extend({
                type: 'GET',
                dataType: 'jsonp',
                url: model.url(),
                processData: false
            }, options);
    
            return $.ajax(params);
        },
        parse: function(response) {
            return response.shots;
        },
    
        url: function() {
            return "http://api.dribbble.com/players/" + encodeURIComponent(this.player) + "/shots?per_page=18";
        }
    });
    
    s=new ShotsList();
    s.bind("reset",function(collection) {
        console.log(collection.models);
        console.log(collection.pluck("image_teaser_url"));
    });
    s.player="jordan";
    s.fetch();
    

    【讨论】:

    • 谢谢老兄。我也不知道问题出在哪里,但是在像您拥有它们一样重新排列它并整理其他一些位之后,它似乎起作用了。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    相关资源
    最近更新 更多