Rob*_*uer 4 phonegap-plugins cordova typescript
我想要开始使用Google Analytics Cordova插件,但是我正在使用TypeScript组合我的所有javascript资源,我遇到了一些障碍.以下是我遇到的具体问题的一个很好的例子:
window.plugins.googleAnalyticsPlugin.startTrackerWithAccountID("UA-xxxxxxx-x");
Run Code Online (Sandbox Code Playgroud)
TypeScript瘫痪window.plugins,抛出编译错误:
属性"插件"在"Window"类型的值上不存在.
这完全合情合理.但是,我无法通过使用declare var window;语句解决这个问题,因为这会为窗口创建重复的标识符.
Fen*_*ton 16
第一步是扩展Window界面,你可以这样做:
interface Window {
plugins: any;
}
Run Code Online (Sandbox Code Playgroud)
这意味着没有编译器错误,但除非你扩展定义,否则意味着没有自动完成.所以这条线现在可以工作:
window.plugins.googleAnalyticsPlugin.startTrackerWithAccountID("UA-xxxxxxx-x");
Run Code Online (Sandbox Code Playgroud)
为了使事情变得更好并且让自己完成一些自动完成(并且还要检查拼写),您可以使用此扩展版本的定义.
interface GoogleAnalyticsPlugin {
startTrackerWithAccountID(accountId: string): void;
}
interface Plugins {
googleAnalyticsPlugin: GoogleAnalyticsPlugin;
}
interface Window {
plugins: Plugins;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5985 次 |
| 最近记录: |