例如,如果我想使用Cordova提供的Piwik插件,我如何将其集成到我的Ionic 2项目中?
例如,如果我已经用Cordova添加了一个名为plugin的插件,我如何调用它?
在文件Home.ts中,我如何实例化它?
let plugin = new Plugin();不起作用。我的编辑会说Plugin not found或诸如此类的话。
发布于 2016-06-07 17:52:50
您应该执行ionic plugin add NAME_OF_THE_PLUGIN,而不是正常使用插件所公开的对象。如果你正在使用typescript并且不想让它抱怨,你可以写:declare var name_of_the_variable,这样它就不会抛出错误。此外,ionic会将插件添加到其插件列表中,因此下次您添加新平台或ionic状态重置项目时,它将自动获取插件。
此外,您还可以了解依赖注入,并手动将其@ Inject ('name_of_variable')注入,然后在所有类中使用它。
关于DI的更多信息:https://angular.io/docs/ts/latest/guide/dependency-injection.html
编辑:对于一些cordova插件,ionic提供了一些你可以使用的“包装器”。你可以在这里阅读更多关于它的内容:http://www.joshmorony.com/using-cordova-plugins-in-ionic-2-with-ionic-native/。
此外,如果您在角度检测更改时遇到问题(我遇到了类似这样的问题),您可以将来自插件的调用包装到ngZone.run(() => { ... } )中。您还需要请求angular在构造函数constructor(ngZone: NgZone)中提供当前区域的实例
我希望它能帮上忙
https://stackoverflow.com/questions/37675888
复制相似问题