【发布时间】:2013-05-14 19:56:16
【问题描述】:
我似乎无法在我的点击事件中获得打字稿类实例。
我有一个 TypeScript 类 Navigation。
class Navigation
{
currentPage: number;
wireMouseEvents()
{
this.buttonPrevious.on("click", function(): void {
if (this.currentPage > 1)
{
// do more work with Navigation objects
}
});
}
}
这是生成的 JavaScript:
Navigation.prototype.wireMouseEvents = function () {
var _this = this;
this.buttonPrevious.on("click", function () {
if(_this.currentPage > 1) {
// do more work with Navigation objects
}
});
};
事件被触发,但 currentPage 未定义。
在调试器的单击事件中查看“this”时,它是一个 Kinetic.Text 对象。
如何确保点击处理程序的范围是我的班级Navigation?
【问题讨论】:
-
能否也粘贴生成的 JavaScript?
-
Navigation.prototype.wireMouseEvents = function () { var _this = this; this.buttonPrevious.on("点击", function () { if(_this.currentPage > 1) { } });
-
谢谢,我将答案标记为删除,因为它不应该是一个答案:)。我不确定我能否为你解答,但至少现在清楚多了。
-
-1 因为问题有问题。将该 TypeScript 粘贴到 Playground 中,您可以看到它没有编译为该 JavaScript。没有粗箭头 == 没有自动
_this.
标签: click typescript kineticjs