将关联数组作为参数传递给骨干模型

时间:2013-05-25 00:05:50

标签: javascript backbone.js

即使没有实例化模型,我也从此代码中收到“SyntaxError:invalid label”错误:

name 应该是一个简单的字符串,但 data 是一个关联数组。

我没有找到任何完全相同的例子 - 我是否误用骨干?

var arrayModel = Backbone.Model.extend({
    initialize: function( name, data ) {
        name: name,
        key: data.AName,
        tech: data.Tech,
        // not really used
        array_type: data.array_type,
        desc: data.desc
    }
});

1 个答案:

答案 0 :(得分:2)

您正在将函数表达式的语法与对象文字的语法混合在一起。

也许你的意思是:

var arrayModel = Backbone.Model.extend({
    initialize: function( name, data ) {
      return {
        name: name,
        key: data.AName,
        tech: data.Tech,
        // not really used
        array_type: data.array_type,
        desc: data.desc
      };
    }
});

或者也许:

var arrayModel = Backbone.Model.extend({
    initialize: (function( name, data ) {
      return function(){
        this.name = name;
        this.key = data.AName;
        this.tech = data.Tech;
        // not really used
        this.array_type = data.array_type;
        this.desc = data.desc;
      };
    })()
});

我不确定,因为我不熟悉Backbone.js