Ionic 4: NFC не может импортировать NFC и Ndef - PullRequest
0 голосов
/ 19 октября 2019

Запуск проекта в Ionic 4 с помощью Cordova-плагинов. Я пытаюсь инициализировать NFC в проекте. Я просто следовал документации Ionic, и Cordova-Plugin был добавлен в package.json. Сейчас я пытаюсь добавить NdefListener. Поэтому я могу читать, записывать и очищать теги NFC.

Я пытался использовать @ ionic-native / nfc вместо @ ionic-native / nfc / ngx, но мой код не нашел @ ionic-native / nfc.

Мой Ионный 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)

Ответы [ 2 ]

1 голос
/ 19 октября 2019

Вы также должны импортировать его в свой основной модуль:

....
import { NFC, Ndef } from "@ionic-native/nfc/ngx";

@NgModule({
  ....
  providers: [
    ......
    NFC,
    Ndef
  ]
....
1 голос
/ 19 октября 2019

Чтобы использовать NFC в вашем приложении, вам нужно добавить NFC к поставщикам app.module.ts:

...