0

我是 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”函数,但它给了我语法错误。谁能告诉我我在这里犯了什么错误?

4

1 回答 1

1

initObj函数里面没有定义renderinitObj被定义为对象属性,因此它应该放在对象内部:

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,但第一个更像是骨干。

于 2013-10-22T11:28:02.280 回答