我正在尝试使用Ionic 2的NFC模块。这是我的代码:
nfc-sn.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-can.html
<ion-content padding>
<button on (click)="checkNFC()">Scan NFC</button>
</ion-content>当我运行应用程序时,我得到了错误:
属性'enabled‘在’type on‘上不存在。
我知道我并没有在NFC的构造函数中声明nfc。但是当我这样做的时候,页面甚至不会全部加载。
发布于 2017-06-13 23:20:43
我终于找到了解决这个问题的办法。事实证明,如果不在要使用类的构造函数中声明类,就不能使用类。
在我的例子中,问题是,我在我的机器(Macbook)浏览器中运行这个应用程序,而NFC插件只能在支持NFC的手机上实例化(比如摄像头插件)。尽管如此,Ionic现在提供了以一种方式模拟插件的能力,这样您就可以在您的机器浏览器中使用它们。
要在浏览器和离子服务会话中使用Ionic本地插件,只需扩展原始插件类并覆盖您想要模拟的方法。
来源:https://ionicframework.com/docs/native/browser.html
希望它能帮助像我这样的人。
发布于 2017-06-12 10:51:10
当页面未加载时,通常会在控制台上看到输出。确保在构造函数中使用私有nfc : NFC;
https://stackoverflow.com/questions/44489374
复制相似问题