Parsing JSON file and storing into Backbone Collection, Error: __ is undefined

Parsing JSON file and storing into Backbone Collection, Error: __ is undefined

我正在使用 getJSON 解析 JSON 文件并将结果存储在模型数组中。之后,我将这个模型数组放入一个名为 data 的集合中。

var DataArray = [];
var url = 'file.json';

$.getJSON(url, function (json) {

   for (var i = 0; i < json.var.length; i++) {
       var VarSamp = new DataModel();
       for (var j = 0; j < json.var[i].vartwo.length; j++) {

           VarSamp.set({'attr_1': json.var[i].attribute1});
           VarSamp.set({'attr_2': json.var[i].attribute2});
           VarSamp.set({'attr_3': json.var[i].vartwo[j].attribute3});

           DataArray.push(VarSamp);
       }

   }   

});

var data = new DataCollection(DataArray);
console.log(data);

然后尝试从视图访问我的集合时,我收到错误:类型错误:'data' 未定义。

这是我的观点:

var dataCollectionView = Backbone.View.extend({
    el: '.content',

    initialize:function(){
        this.render();
    },
    render: function () {
        var source = $('#view-temp').html();
        var template = Handlebars.compile(source);
        var html = template(data.toJSON());
        this.$el.html(html);
    }

});

解决方案是将 data 传递到您的视图中。

var view = new dataCollectionView({collection: data});

其次是

initialize: function(options) {
    this.render(options.collection);
}