熟悉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()
會出現(xiàn)以下錯誤:
ReferenceError: cordova is not defined
再比如我們在使用極光推送jpush-phonegap-plugin插件的時候會使用到
window.plugins.jPushPlugin.init();
同樣會出現(xiàn)以下錯誤:
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();