2
,當我把一些打字稿代碼使用的「此」硬編碼捕獲打字稿問題與「本」在VS2013調試使用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。
這是一個錯誤。試試這裏:https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+debug,如果它不存在,請打開一個新的問題。 – WiredPrairie 2015-04-04 16:48:48
謝謝。我將它添加爲一個錯誤。 [https://github.com/Microsoft/TypeScript/issues/2617](https://github.com/Microsoft/TypeScript/issues/2617)。 – Frank 2015-04-04 18:28:51