【问题标题】:Ionic 4: NFC can't import NFC and NdefIonic 4:NFC 无法导入 NFC 和 Ndef
【发布时间】:2020-02-16 04:54:35
【问题描述】:

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

我尝试使用@ionic-native/nfc 而不是@ionic-native/nfc/ngx,但我的代码找不到@ionic-native/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)

【问题讨论】:

    标签: typescript ionic-framework cordova-plugins ionic4


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      你也应该在你的主模块中导入它:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-11
        • 2012-05-10
        • 2013-09-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多