【问题标题】:Using a Javascript Function from Typescript使用 Typescript 中的 Javascript 函数
【发布时间】:2014-02-04 05:49:49
【问题描述】:

我正在尝试使用 HTML 前端构建一个不错的 Windows Phone 应用程序。我想使用 TYPESCRIPT 对我的 html 页面进行处理。有一个 javascript 函数对我的应用程序运行至关重要 - window.external.notify

我假设这个方法直到运行时才创建,所以我构建了一个 javascript 包装函数来确定它在调用时是否存在。

if (window.external.notify != undefined)
    window.external.notify(msg);

问题是我需要获取我的 Typescript 文件才能看到此功能。 我正在使用 Visual Studio 2012,我看到了帖子 - How to use an exported function within the local module 问题是当我只将我的 javascript 文件包含在我想要使用的函数中时,我收到错误 TS2095。

错误 TS2095:构建:找不到符号

有任何想法或帮助或可能的 SDK 来规避此问题吗?

【问题讨论】:

    标签: javascript typescript


    【解决方案1】:

    //notif.js

    let notify = function(message) {
        alert(message);
    }
    

    //test.ts

    declare function notify(message: string): any;
    if(notify != undefined)
        notify("your message");
    

    确保先加载 notif.js。

    【讨论】:

      【解决方案2】:

      你需要告诉 typescript 这个函数存在于window.external 上才能使用它。所以:

      interface External{
          notify: Function;
      }
      
      if (window.external.notify != undefined)
          window.external.notify("your message");
      

      【讨论】:

      • 我喜欢这个解决方案,我回家后会检查一下。
      • 效果很好!非常感谢。
      • 它对我不起作用,因为我在这里发布:stackoverflow.com/questions/43530096/… 你能举一个更完整的例子吗?谢谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-01
      • 1970-01-01
      • 2017-12-18
      • 1970-01-01
      • 2020-09-16
      • 2022-01-13
      相关资源
      最近更新 更多