这是一个常见的错误。文档告诉您如何安装该特定插件,但他们没有告诉您还需要更新模块文件以包含它。
看看这个页面:
它解释了您需要在 a 中导入插件@NgModule
并将其添加到 Providers 列表中。对于 Angular,导入路径应以/ngx
. Angular 的变更检测是自动处理的。
为此,您需要:
// app.module.ts
import { Camera } from '@ionic-native/camera/ngx';
...
@NgModule({
...
providers: [
...
Camera
...
]
...
})
export class AppModule { }
因此,只需使用该技术导入您的 Ionic Native 模块,它就可以工作了。
当没有 Ionic Native 包装器时
但是,根据您在下面的评论,现在很明显,这个 Cordova 插件没有 Ionic Native 包装器。
这意味着您必须:
- 在没有 Ionic Native 的情况下访问它
- 或者编写你自己的 Ionic Native 包装器
似乎这篇关于 Medium 的文章对此有很好的介绍:
为 Ionic Native 构建你的第一个 Cordova 插件 – Sangkhim Khun – Medium
你已经超越了我在这里的个人经历,但我正试图和你一起弄清楚。
本教程的第三部分有一个有趣的片段,用于直接访问 Cordova 插件:
declare var cordova: any;
var success = function(result) {
alert(JSON.stringify(result, undefined, 2));
}
var failure = function(result) {
alert(JSON.stringify(result, undefined, 2));
}
cordova.plugins.HelloWorld.coolMethod({
_sMessage: "Hello World"
}, success, failure);
您必须比较您的 Cordova 插件的文档以自行调整以使其正常工作。
或者,如果您继续阅读该教程,它将解释如何创建一个 Ionic Native 包装器,您甚至可以将其贡献回项目,以便每个人都可以使用此功能。