我正在学习 learn.knockoutjs.com教程,我正在自定义绑定教程的第 4 步。有以下 JavaScript:
update: function(element, valueAccessor) {
// Give the first x stars the "chosen" class, where x <= rating
var observable = valueAccessor();
$("span", element).each(function(index) {
$(this).toggleClass("chosen", index < observable());
});
}
我已将其翻译为以下 TypeScript:
update: (element, valueAccessor) => {
var observable = valueAccessor();
$("span", element).each(index => {
$(this).toggleClass('chosen', index < observable())
});
}
这将创建以下内容,其中创建 _this 变量以保留“更新”函数的范围,而不是内部“跨度”函数。
update: function (element, valueAccessor) {
var _this = this;
var observable = valueAccessor();
$("span", element).each(function (index) {
$(_this).toggleClass('chosen', index < observable());
});
}
问题出在$(_this)
. 如何让 TypeScript 给我真正的$(this)
.