我已经安装了插件(离子插件添加cordova-plugin-fingerprint-aio --save),这就是我的TS文件的外观。
import { FingerprintAIO, FingerprintOptions } from '@ionic-native/fingerprint-aio';
import { Platform } from '@ionic/angular';
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage {
fingerprintOptions : FingerprintOptions
constructor(private fingerprint: FingerprintAIO, private platform: Platform,) {
this.fingerprintOptions = {
clientId: 'fingerprint-demo',
clientSecret: 'password',
disableBackup: true
}
}
async showFingerPrintDiaglo() {
try {
await this.platform.ready();
const available = await this.fingerprint.isAvailable()
console.log(available);
if(available === "OK") {
const result = await this.fingerprint.show(this.fingerprintOptions)
console.log(result);
}
}
catch (e) {
console.error(e);
}
}
这是我尝试打开页面时得到的内容
Uncaught TypeError: Object(...) is not a function
at index.js:92
at Object../node_modules/@ionic-native/fingerprint-aio/index.js (index.js:141)
at __webpack_require__ (bootstrap:81)
at Object../src/app/app.module.ts (app.component.ts:11)
at __webpack_require__ (bootstrap:81)
at Object../src/main.ts (main.ts:1)
at __webpack_require__ (bootstrap:81)
at Object.0 (main.ts:12)
at __webpack_require__ (bootstrap:81)
at checkDeferredModules (bootstrap:43)
自从我在Ionic4上进行应用程序以来,有人使用过它吗,或者有任何想法?
奇怪的是,已经有一年了,所以如果其他人遇到这个问题,那么您在ionic 4上所缺少的就是在导入语句的末尾添加ngx(假设您的应用使用了ionic)。像这样:
import { FingerprintAIO, FingerprintOptions } from '@ionic-native/fingerprint-aio/ngx';
这在从ionic native中导入为cordova插件提供接口的模块时非常普遍,因为ionic 4现在具有“ ionic react”,“ ionic vue”和“ ionic angular”,路径应添加以下选项之一来解决正确的文件。