Ionic 4:NFC 无法导入 NFC 和 Ndef



在 Ionic 4 中使用 Cordova-plugins 启动一个项目。我正在尝试将 NFC 初始化到项目中。我只是遵循了Ionic文档,Cordova插件被添加到package.json中。现在我正在尝试添加一个 NdefListener。所以我可以读取、写入和清除 NFC 标签。

我尝试使用 @ionic-native/nfc 而不是 @ionic-native/nfc/ngx,但我的代码找不到 @ionic-native/nfc。

我的离子 CLI 是 5.2.8 .

这是我的主页。

import { NFC, Ndef } from "@ionic-native/nfc/ngx";
constructor(private nfc: NFC, private ndef: Ndef) {}

当我只在构造函数中使用 ndef 没有其他代码时,我收到的错误代码,当我把 NFC 放在第一位时,只有 Ndef 被更改为 NFC 时也会发生同样的情况。

ERROR Error: Uncaught (in promise): NullInjectorError: StaticInjectorError(AppModule)[HomePage -> Ndef]: 
StaticInjectorError(Platform: core)[HomePage -> Ndef]: 
NullInjectorError: No provider for Ndef!
NullInjectorError: StaticInjectorError(AppModule)[HomePage -> Ndef]: 
StaticInjectorError(Platform: core)[HomePage -> Ndef]: 
NullInjectorError: No provider for Ndef!
at NullInjector.get (/vendor-es2015.js:35988)
at resolveToken (/vendor-es2015.js:37774)
at tryResolveToken (/vendor-es2015.js:37700)
at StaticInjector.get (/vendor-es2015.js:37563)
at resolveToken (/vendor-es2015.js:37774)
at tryResolveToken (/vendor-es2015.js:37700)
at StaticInjector.get (/vendor-es2015.js:37563)
at resolveNgModuleDep (/vendor-es2015.js:61613)
at NgModuleRef_.get (/vendor-es2015.js:62701)
at resolveNgModuleDep (/vendor-es2015.js:61613)
at resolvePromise (/polyfills-es2015.js:3803)
at resolvePromise (/polyfills-es2015.js:3760)
at /polyfills-es2015.js:3864
at ZoneDelegate.invokeTask (/polyfills-es2015.js:3397)
at Object.onInvokeTask (/vendor-es2015.js:69392)
at ZoneDelegate.invokeTask (/polyfills-es2015.js:3396)
at Zone.runTask (/polyfills-es2015.js:3174)
at drainMicroTaskQueue (/polyfills-es2015.js:3565)

您还应该将其导入主模块:

....
import { NFC, Ndef } from "@ionic-native/nfc/ngx";
@NgModule({
....
providers: [
......
NFC,
Ndef
]
....

为了在应用中使用 NFC,您需要将 NFC 添加到您的 app.module.ts 提供程序:

最新更新