Ionic2使用非ionic-native中的cordova插件的方法

来源:互联网 发布:银行it团队口号 知乎 编辑:程序博客网 时间:2024/05/16 10:43

熟悉ionic1和angular1的用户对于使用cordova都有一定的认识,但是在ionic2中官方给出的使用方法是从ionic-native这个npm包导入要使用的cordova插件。
例如:
使用ionic-native提供的AppVersion插件
首先安装插件:
ionic plugin add cordova-plugin-app-version
然后通过以下代码即可获取到APP的版本信息

import { AppVersion } from 'ionic-native';AppVersion.getAppName();AppVersion.getPackageName();AppVersion.getVersionCode();AppVersion.getVersionNumber();

但是在ionic2中使用ionic-native之外的插件的时候,如果按照我们ionic1中使用插件的方法的话,比如我们在使用cordova-plugin-themeablebrowser 的时候使用到了

cordova.ThemeableBrowser.open()

会出现以下错误:

ReferenceError: cordova is not defined

再比如我们在使用极光推送jpush-phonegap-plugin插件的时候会使用到
window.plugins.jPushPlugin.init();
同样会出现以下错误:

Property 'plugins' does not exist on type 'Window'.

这是因为在ionic2中使用到了typescript的原因,所以我们需要在使用前先定义。
使用cordova的时候需要在import之后@Component之前声明cordova

declare let cordova:any;

然后再使用cordova.ThemeableBrowser.open()就不会报错了。
使用window.plugins的时候需要使用以下方法:

(<any>window).plugins.jPushPlugin.init();
0 0