3

現在、以下のコードと静的 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"
}]
}
4

2 に答える 2

1

サーバー側言語でページをレンダリングしていますか? はいの場合は、デフォルトを含むビューに JSON 文字列を挿入し、それをモデルに入力します。

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

サーバー側の言語を使用していない場合は、JQuery で AJAX リクエストを発行して JSON データを読み込むこともできると思いますが、これはfetch.

JSON ファイルを別の方法で「含める」方法がわかりません。

于 2012-11-13T19:14:48.257 に答える