【问题标题】:Using TypeScript with PhoneGap/Cordova Plugins将 TypeScript 与 PhoneGap/Cordova 插件一起使用
【发布时间】:2013-07-17 18:42:35
【问题描述】:

我想开始使用 Google Analytics Cordova plugin 时遇到了一些障碍,但我正在使用 TypeScript 编写我的所有 javascript 资产。这是我遇到的具体问题的一个很好的例子:

window.plugins.googleAnalyticsPlugin.startTrackerWithAccountID("UA-xxxxxxx-x");

TypeScript 拒绝 window.plugins,抛出编译错误:

“窗口”类型的值上不存在“插件”属性。

这是完全有道理的。但是,我无法通过使用 declare var window; 语句来解决此问题,因为这会为 window.created 生成一个重复的标识符。

【问题讨论】:

    标签: cordova typescript phonegap-plugins


    【解决方案1】:

    第一步是扩展Window接口,你可以这样做:

    interface Window {
        plugins: any;
    }
    

    这意味着没有编译器错误,但除非你扩展定义,否则它意味着没有自动完成。所以这条线现在可以工作了:

    window.plugins.googleAnalyticsPlugin.startTrackerWithAccountID("UA-xxxxxxx-x");
    

    为了让事情更上一层楼并让自己自动完成(并且还要检查你的拼写),您可以使用这个定义的扩展版本。

    interface GoogleAnalyticsPlugin {
        startTrackerWithAccountID(accountId: string): void;
    }
    
    interface Plugins {
        googleAnalyticsPlugin: GoogleAnalyticsPlugin;
    }
    
    interface Window {
        plugins: Plugins;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-13
      • 1970-01-01
      • 1970-01-01
      • 2017-07-20
      • 1970-01-01
      • 2014-02-18
      • 1970-01-01
      相关资源
      最近更新 更多