我正在处理此错误,并且我一直收到以下错误 -
TypeError: this.parts[1].reviewMoment is not a function
我正在使用jQuery和骨干。不幸的是,我对JS并不熟悉,也不确定为什么这条线坏了。
define([
"jquery",
"underscore",
], function($, _) {
reviewMoment: function(place) {
this.collection.bind("add", _.once(_.bind(this.triggerReview, this)));
this.collection.addMomentByPlace(place);
},
triggerReview: function() {
this.parts[(this.matchView ? 2 : 1)].reviewMoment();
if(this.matchView) {
this.matchView.search.close();
}
}
});
});
为什么reviewMoment
不被视为功能?
感谢。
答案 0 :(得分:0)
这不是一个函数,因为您实际上并没有创建一个可以使用{}
表示法的对象文字identifier:property
。要创建有效的函数定义,请在函数周围放置一个带有对象文字的return语句:
define([
"jquery",
"underscore",
], function($, _) {
return {
reviewMoment: function(place) {
this.collection.bind("add", _.once(_.bind(this.triggerReview, this)));
this.collection.addMomentByPlace(place);
},
triggerReview: function() {
this.parts[(this.matchView ? 2 : 1)].reviewMoment();
if(this.matchView) {
this.matchView.search.close();
}
}
}
});
});