【问题标题】:Fetching a single model using backbone.js使用backbone.js 获取单个模型
【发布时间】:2012-11-22 12:49:41
【问题描述】:

在我的backbone.js 代码中,我一直试图从一个url 中获取一个模型。我一定是做错了什么,因为我的模型永远不会使用 fetch() 填充。

我尝试在互联网上寻找解决方案,但我无法弄清楚我做错了什么。

非常感谢任何帮助!

我有一个 JSON 文件,如下所示:

JSON = { size : 'small' , username : 'jasper' , messages : '3' }

还有代码:

(function($){

Header=Backbone.Model.extend({

    defaults:{

        size:"large",

    },

    urlRoot:'urltofile.json',

});

header=new Header();

var HeaderView=Backbone.View.extend({

    events:{    
        'click #header_account_options_login':'loginClicked'
    },

    initialize:function(){

        $(this.el).append('<div id="header"></div>');

        _.bindAll(this,'render','loginClicked');

        dust.loadSource(dust.compile($(this.options.tpl).html(),'header-template'));

        this.model.bind('change',this.render,this);

        this.render();

    },

    render:function(){

        var_self=this;

        dust.render('header-template',this.model.toJSON(),function(error,rendered){

            $('#header').replaceWith(rendered);

        });

        return this;

    },


    loginClicked:function(){

        this.model.fetch();
        console.log(this.model);

    }

});

var headerView=new HeaderView({

    el:'#container',
    tpl:'#header-template',
    model:header

});

})(jQuery);

【问题讨论】:

  • 你能用相同的值指定url而不是urlRoot并试一试吗?它应该工作。因为urlRoot 将在其后附加模型的id,而url 不会。
  • 当我将其更改为 url 时仍然失败。结果是一样的
  • 如果你这样做 model.get("some_attribute_name") 它会给你什么?
  • 返回报告:未定义。
  • 获取函数也进入错误函数...这意味着有问题。所以我不希望模型被填充。

标签: javascript backbone.js model fetch


【解决方案1】:

我发现 JSON 中的问题不正确。修复 JSON 解决了​​这个问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-28
    • 2012-01-04
    • 1970-01-01
    相关资源
    最近更新 更多