例如,如果我想使用Cordova提供的Piwik插件,我怎样才能将它集成到我的Ionic 2项目中?
特别是如何在项目中调用插件。
E.g。 如果我已经添加了一个名为Plugin with Cordova的插件,我该如何调用它?
在文件Home.ts
中,如何实例化它?
let plugin = new Plugin();
不起作用。我的编辑会说Plugin not found
或者这类事。
答案 0 :(得分:2)
你应该ionic plugin add NAME_OF_THE_PLUGIN
你应该能够正常使用插件所暴露的对象。如果你正在使用打字稿并且不想让它抱怨,你可以写:declare var name_of_the_variable
所以它不会抛出错误。
此外,离子将在其插件列表中添加插件,因此下次添加新平台或离子状态重置项目时,它将自动获取插件。
您还可以了解依赖注入并手动注入@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)
我希望它有所帮助