SyntaxError:函数语句在Backbone中需要一个名称

时间:2013-10-22 11:23:58

标签: backbone.js

我是Backbone框架的新手。我在骨干中写过模型和视图。它给我的语法错误或“SyntaxError:函数语句需要一个名字 - > initObj:函数(高度,宽度){”运行时。

这是我的骨干视图代码

selectTable = Backbone.View.extend({
    render: function() {
    var height= 50;
    var width= 56;
        if (true) {
          initObj(chartHeight);
        }
        initObj: function (height, width) {
        console.log("inside initObj");
        }
      var selector = this.$el.find("select.clg-selection");
      selector.html("<option>testtest</option>");
    }
});

这里我只是调用“initObj”函数,但它给了我语法错误。有人可以告诉我,我在这里做了什么错误吗?

1 个答案:

答案 0 :(得分:1)

initObj函数未在render中定义。 initObj被定义为对象属性,因此它应放在对象内:

selectTable = Backbone.View.extend({
    render: function() {
        var height= 50;
        var width= 56;
        if (true) {
          this.initObj(chartHeight);
        }
        var selector = this.$el.find("select.clg-selection");
        selector.html("<option>testtest</option>");
    },
    initObj: function (height, width) {
        console.log("inside initObj");
    }
});

或者,您可以定义initObj,如:

initObj = function (height, width) {
    console.log("inside initObj");
}

并将其留在render内,但第一个是Backbone-ish。