Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 尝试在主干的初始化函数中为模型设置值,但不起作用_Backbone.js_Backbone Events - Fatal编程技术网

Backbone.js 尝试在主干的初始化函数中为模型设置值,但不起作用

Backbone.js 尝试在主干的初始化函数中为模型设置值,但不起作用,backbone.js,backbone-events,Backbone.js,Backbone Events,只有data1设置了响应值,但data3没有设置,它显示为模型中设置的默认值。问题在于,您设置的数据不是在初始化,而是在成功回调(异步)内使用fetch方法,因此只有在调用success后才能访问这些新数据 有一件事我注意到,您使用相同的模型来获取数据和设置数据。实际上,fetch应该使用JSON响应自动用数据填充模型。但是在您的情况下,您可以在success方法中覆盖它。上述初始化方法位于何处。它在主干视图内。您还可以在试图访问data3属性的地方发布这段代码吗 initialize: fun

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

问题在于,您设置的数据不是在
初始化
,而是在
成功
回调(异步)内使用
fetch
方法,因此只有在调用
success
后才能访问这些新数据


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

上述初始化方法位于何处。它在主干视图内。您还可以在试图访问data3属性的地方发布这段代码吗
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");
                }
       });