尝试在骨干的初始化函数中将值设置为模型,但不起作用

时间:2015-04-02 01:55:01

标签: backbone.js backbone-events

initialize: function(options){
        var that= this;
        that.options = options ;
        that.options.model.fetch({

                success     : function(model, response){
                    that.options.model.set({
                        data1 : response,
                        data2  : [{
                                                attributes : {
                                                    data3 : response
                                                    }
                                             }]

                    });

                },error     : function(model, response){
                    console.log("error");
                }
       }); 

只有data1设置了响应值,但data3没有设置,它显示为模型中设置的默认值。

1 个答案:

答案 0 :(得分:0)

您设置数据的问题不在initialize内,而是在success方法的fetch回调内(这是异步的),因此您应该只在{{success 1}}被叫。

有一件事我注意到你使用相同的模型来获取数据和设置数据。实际上fetch应该使用JSON响应自动填充数据模型。但在您的情况下,您可以在success方法中覆盖它。