我在骨干中创建了模型和视图。它给我一个语法错误 “SyntaxError:函数语句需要一个名称 - > changeClg:function(height,width){”
selectTable = Backbone.View.extend({
render: function() {
var height= 50;
var width= 56;
if (true) {
changeClg(height,width);
}
changeClg: function (height, width) {
console.log("inside changeClg");
}
var selector = this.$el.find("select.clg-selection");
selector.html("<option></option>");
}
});
但是当我在View之外用不同的语法声明changeClg函数时,它正在工作
selectTable = Backbone.View.extend({
render: function() {
var height= 50;
var width= 56;
if (true) {
changeClg(height,width);
}
var selector = this.$el.find("select.clg-selection");
selector.html("<option></option>");
}
});
changeClg = function (height, width) {
console.log("inside changeClg");
this.$el.find(".clg-dors")[0];
}
实际上我需要使用el对象以及其他一些对象,所以我必须转到第一个选项,但它给了我错误。
我只是调用“changeClg”函数,但它给了我语法错误。
我想知道这两个函数声明有什么不同?
有谁能告诉我可能是什么问题?
答案 0 :(得分:1)
我认为changeClg: function (height, width)
不是正确的语法。
你应该使用
`var changeClg = function(height,width){...}
代替。
您遇到的问题是因为您没有使用以下方法创建对象:函数是错误的,即
c = {a: function{...}}
是的,你可以使用c.a()但是
a: function{...}
错了
var a = function {...}
是正确的方法,您可以直接使用()
答案 1 :(得分:0)
它正在工作我们应该使用“this”关键字来调用对象属性,并且我在render属性之后创建了“changeClg”函数,如下所示
selectTable = Backbone.View.extend({
render: function() {
var height= 50;
var width= 56;
if (true) {
this.changeClg(chartHeight);
}
var selector = this.$el.find("select.clg-selection");
selector.html("<option></option>");
},
changeClg: function (height, width) {
console.log("inside changeClg");
}
});
由于