我是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”函数,但它给了我语法错误。有人可以告诉我,我在这里做了什么错误吗?
答案 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。