2016-02-29 48 views
-1

我試圖在TypeScript文件中實現一個帶有命名空間的JavaScript回調。我認爲可以在TypeScript中複製1:1的JavaScript代碼,但Visual Studio中的編譯器會引發很多錯誤。TypeScript中的JavaScript回調

我應該使用lambda表達式將JavaScript更改爲TypeScript還是有可能禁用錯誤消息?

; (function (scope, $, undefined) { 
    'use strict'; 

    scope.ajaxPost = function() { 
     $.ajax({ 
      url: 'PassData/PostAjax', 
      type: "POST", 
      data: { 'jsonMessage': "I was passed successfully" }, 
      async: true, 
      dataType: "json", 
      success: function (returnVal) { 
       alert(returnVal); 
      }, 
      error: function (data) { 
       alert("failed"); 
      }, 
     }); 
     return false; 
    }; 
}(
    some.namespace('my.namespace.Calllback'), 
    jQuery 
)); 
+3

「但Visual Studio中的編譯器引發了很多錯誤。」 - 什麼錯誤? – elclanrs

+0

很少,您可以簡單地將JavaScript代碼複製到TypeScript文件中,並讓它無錯地編譯,特別是如果您有像noImplicitAny這樣的特定編譯器指令開啓時。你得到的具體錯誤信息是什麼? –

回答

1

TypeScript編譯器會因爲類型不匹配而引發錯誤,這對於將JS移植到TS中是一件好事。

但重要的是:如果代碼具有有效的語法,TypeScript編譯器將發出JavaScript(即使顯示錯誤)。所以你可以使用TS並逐漸更新你的代碼。

如果您需要關於特定錯誤的幫助,請更新您的問題或發佈另一個問題。