angular - Ionic 插件 BLE(和所有其他插件)不是函数错误 | Ionic4 和 Angular 7
问题描述
我需要帮助。所以我用 angular 项目创建了 ionic cordova 来制作应用程序。我已经在 Android 设备上启动了该应用程序并开始使用 Chrome DevTools 进行调试。
所以一切正常,但是,问题是:
我已经安装了这个 BLE 离子插件:
https://ionicframework.com/docs/native/ble#installation
插入这个:
ionic cordova plugin add cordova-plugin-ble-central
npm install @ionic-native/ble
在 app.module.ts 上添加了这个
import { BLE } from '@ionic-native/ble/ngx';
@NgModule({
declarations: [
MyApp,
AboutPage,
ContactPage,
HomePage,
TabsPage
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
AboutPage,
ContactPage,
HomePage,
TabsPage
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler},
BLE <------- Add this BLE on providers
]
})
所以这是我的家.ts
import { Component, OnInit } from '@angular/core';
import { NavController } from 'ionic-angular';
import { BLE } from '@ionic-native/ble/ngx';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage implements OnInit{
constructor(
public navCtrl: NavController,
public ble: BLE
) {
}
ngOnInit() {
this.ble.startScan([]).subscribe(device => {
console.log(JSON.stringify(device));
debugger;
});
setTimeout(() => {
this.ble.stopScan();
}, 5000);
}
}
我已经通过终端启动了这个:
离子科尔多瓦运行android -l
当应用程序启动时,错误是:
错误错误:未捕获(承诺中):TypeError:Object(...)不是函数TypeError:Object(...)不是HomePage.webpackJsonp.251的BLE.startScan(vendor.js:81070)的函数.HomePage.ngOnInit (main.js:178) 在 checkAndUpdateDirectiveInline (vendor.js:13047) 在 checkAndUpdateNodeInline (vendor.js:14571) 在 checkAndUpdateNode (vendor.js:14514) 在 debugCheckAndUpdateNode (vendor.js:15407) 在 debugCheckDirectivesFn ( vendor.js:15348) 在 Object.eval [as updateDirectives] (ng:///AppModule/HomePage_Host.ngfactory.js:9) 在 Object.debugUpdateDirectives [as updateDirectives] (vendor.js:15333) 在 checkAndUpdateView (vendor. js:14480) 在 c (polyfills.js:3) 在 c (polyfills.js:3) 在 polyfills.js:3 在 t.invokeTask (polyfills.js:3) 在 Object.onInvokeTask (vendor.js:5387) 在 t.invokeTask (polyfills.js:3) 在 r.runTask (polyfills.js:3) 在 o (polyfills.js:3) defaultErrorLogger @ vendor.js:2085
什么我错了,或者我忘记了什么?这个问题发生在我使用的每个插件上。
解决方案
您必须在 startScan([],15) 中传递两个参数
推荐阅读
- android - 如何防止Android中的重复类错误
- python - 谁能告诉我为什么会出现这个错误?,我已经安装了 datareader 包
- c# - 作为原生 Android 服务运行的 C# 应用程序
- treeview - Outsystems:来自数据库数据/列表的动态树视图
- laravel-5 - $faker->word 如何获得独特的价值?
- python - 在 python 中,为什么程序不让我从用户那里导入数据
- php - 哪个最好的工具 PHP 要么 Bootstrap。?
- java - 如何打印 javax.xml.validation.Schema?
- javascript - 如何获取firestore子集合中的所有文档
- android - 如何为 Android 编译 LLVM/Clang?