【问题标题】:Typescript issue with debugging "this" in VS2013 when using lambdas使用 lambda 时在 VS2013 中调试“this”的打字稿问题
【发布时间】:2015-04-04 15:27:09
【问题描述】:

我正在使用“this”的硬编码捕获转换一些 TypeScript 代码:

var _this = this;

var querySucceeded = function(data){
    this.doSomething(data);
}

var test = this.executeQuery().then(function(data){
    _this.querySucceeded(data);
});

使用 lambda:

var querySucceeded = function(data){
    this.doSomething(data);
}

var test = this.executeQuery().then((data) => {
    this.querySucceeded(data);
});

TypeScript 将 JS 编译成类似于第一个代码块的东西,并且一切都在浏览器中运行良好。问题在于在 Visual Studio 中进行调试时。当我在 lambda 之后检查“this”时,它会显示窗口属性,而不是类上下文。

如果我直接在浏览器中调试,它会显示本地上下文。这是一个已知的问题?可能是JS文件和TS文件的映射有问题?

我正在使用 VS2013 Update 4 和 TypeScript 1.4。

【问题讨论】:

标签: visual-studio lambda typescript


【解决方案1】:

在 lambda 之后检查“this”,它会显示窗口属性,而不是类上下文。

已知问题。这是因为名称未映射。您需要检查“_this”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 1970-01-01
    • 2019-02-20
    • 2016-12-28
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    相关资源
    最近更新 更多