开始一个项目,在Ionic 4与科多瓦插件。我正在尝试将NFC初始化到项目中。我只是简单地遵循了Ionic文档,并将Cordova插件添加到package.json中。现在我正在尝试添加一个NdefListener。这样我就可以读、写和清除NFC标签了。
我尝试使用@离子型本机/nfc,而不是@离子型-本机/nfc/ngx,但我的代码找不到@离子型本机/nfc。
我的Ionic CLI是5.2.8。
这在我的home.page.ts里。
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)发布于 2019-10-19 12:28:52
为了在应用程序中使用NFC,您需要将NFC添加到app.module.ts提供程序中:
发布于 2019-10-19 12:29:57
您还应该在主模块中导入它:
....
import { NFC, Ndef } from "@ionic-native/nfc/ngx";
@NgModule({
....
providers: [
......
NFC,
Ndef
]
....https://stackoverflow.com/questions/58463621
复制相似问题