如何在离子2中使用非原生cordova插件

时间:2016-12-11 14:45:16

标签: cordova plugins ionic2

我正在尝试在Ionic v2应用程序中使用此cordova插件https://github.com/honza889/cordova-plugin-kiosk

基本上在使用cordova plugin add https://github.com/honza889/cordova-plugin-kiosk.git在cordova中安装插件后,该插件已启用并正常工作。

但是我无法找到使用插件方法的方法。

window.plugins未定义

cordova未定义。

我曾尝试在app.component.ts中导入该插件,但我无法找到正确的路径。

有没有人知道在Ionic V2应用程序中使用非本机插件的方法(文档和资源已过时或引用本机插件)。

提前致谢

2 个答案:

答案 0 :(得分:8)

您应该只需访问代码中的KioskPlugin变量即可。 typescript编译器不会知道该变量,因此您必须先声明它:

declare let KioskPlugin: any;

@Component({
  ...
})
export class TestPage {

  ...

  exitKiosk() {
    KioskPlugin.exitKiosk();
  }
}

答案 1 :(得分:4)

我有一个类似的问题试图访问自定义插件,我终于解决了这篇文章:  https://github.com/ionic-team/ionic-native/issues/525

添加declare var cordova: any;代替我的自定义插件var,并通过cordova.plugins.myCustomPlugin.myFunction()调用就可以了。

实际上,取决于您要使用的插件的plugin.xml文件中的设置。更具体地说,<clobbers target="variable.MyCustomPlugin" />标签决定了插件js文件的导出位置。例如,另一个可能性是declare var window: any;然后是window.myCustomPlugin.myFunction()

希望它有所帮助;)