2016-02-29 40 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并逐渐更新你的代码。

如果您需要关于特定错误的帮助,请更新您的问题或发布另一个问题。