json - 如何从 json 文件填充模型数据

标签 json backbone.js model

我目前必须在下面编写代码和一个静态 json 文件。但是,如何将我的模型默认设置为 json 文件中的数据?我的 JSON 文件有几页 - 我希望能够获取默认值并设置默认值。

var PageModel = Backbone.Model.extend({
initialize: function () {
    console.log('initiliazed model');
},

url: "data/data.json",

defaults: function() {
    return PageView.defaultsFromJSON;
}

});

var PageView = Backbone.View.extend ({
initialize: function () {
    console.log('initiliazed view')
    _.bindAll(this);
    this.model.fetch();
    this.render();
    this.model.on('change',this.render);
},

el : '#ev-wrapper',

render: function () {
    $('#ev-wrapper').append(Handlebars.compile($('#ev-template').html())(this.model.toJSON()));

    $('.ev-asset-loader').fadeOut('slow', function (event) {
        this.remove();

    });
}

});

pageModel = new PageView({model: new PageModel()});

json 文件 -

{
"page":[{
        "id":"p05",
        "title":"ptitle1",
        "text":"pinitialtext"
},
{
        "id":"p10",
        "title":"ptitle2",
        "text":"pinitialtext"
}]
}

最佳答案

您是否使用服务器端语言呈现页面?如果是,请将 JSON 字符串注入(inject)包含默认值的 View ,并用它填充模型。

var data = <?php echo $json ?>, 
    model = new PageModel(data),
    view = new PageView({model: model, el : $('#ev-wrapper')[0]});

如果您不使用服务器端语言,我认为您可以使用 JQuery 发出 AJAX 请求来加载您的 JSON 数据,但这与调用 fetch 是一样的。

我看不到以其他方式“包含”JSON 文件的方法。

关于json - 如何从 json 文件填充模型数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13365602/

相关文章:

ruby-on-rails - Rails : Pass Params Through Ajax

json - 检索包含 AJAX 内容的网页

grails - Backbone 和 Handlebars 的服务器端国际化

php - 如何将派生列添加到我的 Yii 模型?

javascript - Jquery从php/json文件加载数据并将新内容附加到div以进行聊天

java - 如何将Json反序列化为Map的Map?

javascript - 我的 backbone.js View 不呈现任何内容

asp.net-mvc - 如何在我的 ASP.NET MVC 后端和我的backbone.js 前端之间共享模板?

authentication - CakePHP:获取模型中的用户信息

java - 翻译层的设计