主干json到模型

主干json到模型,json,backbone.js,Json,Backbone.js,我有下面的json字符串,我正在尝试从每个名称/值对创建一个模型。我在每个模型中都有一个名为“name”的属性 这是我的代码,其中团队是团队的集合。我为每个角色准备了一个新的模型 var myteams = new Teams( _.map(data, function(p) { return p.name } )); var app = app || {}; var Teams = Backbone.Collection.extend({ model: app.Team, in

我有下面的json字符串,我正在尝试从每个名称/值对创建一个模型。我在每个模型中都有一个名为“name”的属性

这是我的代码,其中团队是团队的集合。我为每个角色准备了一个新的模型

var myteams = new Teams( _.map(data, function(p) { return p.name } ));
var app = app || {};
var Teams = Backbone.Collection.extend({
    model: app.Team,
    initialize: function (models,options) { }
});

var app = app || {};

app.Team = Backbone.Model.extend({

    defaults: {
        name: ''
    },
    initialize: function(){
        console.log('This is ' +typeof(this));
    }
});

首先,看起来数据可能是一个原始的JSON字符串,而不是一个实际的对象数组。你已经用
JSON.parse
正确地转换了吗

其次,将字符串数组传递给
团队
集合构造函数。不要那样做。您必须传递一个对象数组,因此忘记您的
\uMap
调用,只需确保
数据
是一个对象数组,并将其直接传递给
团队
构造函数即可


第三,仅供参考一旦您正确填充了团队集合,如果您想要每个团队的名称列表,请使用
myteams.pluck(“name”)
。(仅供参考)。

也添加
团队的代码。
var myteams = new Teams( _.map(data, function(p) { return p.name } ));
var app = app || {};
var Teams = Backbone.Collection.extend({
    model: app.Team,
    initialize: function (models,options) { }
});

var app = app || {};

app.Team = Backbone.Model.extend({

    defaults: {
        name: ''
    },
    initialize: function(){
        console.log('This is ' +typeof(this));
    }
});