【发布时间】:2017-06-11 22:35:07
【问题描述】:
我正在尝试使用 Ionic 2 的 NFC 模块。这是我的代码:
nfc-scan.ts:
import {Component} from '@angular/core';
import {IonicPage, NavController, NavParams, Platform} from 'ionic-angular';
import { Device } from '@ionic-native/device';
import {NFC, Ndef} from '@ionic-native/nfc';
@IonicPage()
@Component({
selector: 'nfc-scan',
templateUrl: 'nfc-scan.html',
})
export class NfcScan {
@ViewChild(Nav) nav: Nav;
NFC: NFC;
constructor(public platform: Platform,
public navCtrl: NavController,
public navParams: NavParams,
) {
}
// NFC Scanning
checkNFC()
{
this.NFC.enabled()
.then(() => {
this.addListenNFC();
})
.catch(err => {
console.log(err);
});
}
}
nfs-scan.html
<ion-content padding>
<button on (click)="checkNFC()">Scan NFC</button>
</ion-content>
当我运行应用程序时,我得到了错误:
“typeof NFC”类型上不存在“已启用”属性。
我知道我没有在 nfc-scan.ts 的构造函数中声明 NFC。但是当我这样做时,页面甚至不会完全加载。
【问题讨论】:
-
NFC:NFC 可能会导致此问题。您声明了一个与类同名的变量,将其更改为 nfc : NFC 或您喜欢的其他名称,然后尝试。
-
@0m3rF 我已经这样做了,但没有运气。
-
hmmm ...据我所知,您应该在构造函数中声明它。即使是可注入的服务,也可以这样工作。您确定在构造函数中声明 NFC 会导致无法加载页面吗?
-
是的。一旦我将它添加到构造函数中,页面根本不会加载。也不会抛出任何错误。所以不知道怎么回事。
-
感谢您的意见。找到后我会在这里发布解决方案。
标签: node.js angular ionic2 nfc