【问题标题】:Trying to set the values to the model in initialize function of backbone, but not working尝试在主干的初始化功能中为模型设置值,但不工作
【发布时间】:2015-04-02 01:55:00
【问题描述】:
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 没有设置,它显示为模型中设置的默认值。

【问题讨论】:

  • 上面的初始化方法在哪里。它是否在主干视图内。您是否也可以在尝试访问 data3 属性的地方发布那段代码

标签: backbone.js backbone-events


【解决方案1】:

问题是您不是在initialize 内设置数据,而是在fetch 方法的success 回调(异步)内设置数据,因此您应该仅在调用success 后访问这些新数据。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-25
    • 2017-12-21
    • 2022-07-20
    • 2017-01-09
    • 1970-01-01
    • 2015-04-03
    相关资源
    最近更新 更多