熟悉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();
网友评论