所以我用angular项目创建了ionic cordova来制作一个应用程序。
我已经在Android设备上启动了这个应用程序,并开始使用Chrome DevTools进行调试。
我已经安装了这个插件:
https://ionicframework.com/docs/native/ble#installation
插入以下内容:
ionic cordova plugin add cordova-plugin-ble-central
npm install @ionic-native/ble
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
]
})
这就是我的家
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);
}
}
我已经通过终端启动了:
错误:Uncaught(在promise中):TypeError:对象(…)不是
函数类型错误:对象(…)不是函数
在BLE.startScan(vendor.js:81070)
位于HomePage.webpackJsonp.251.HomePage.ngOnInit(main.js:178)
在checkAndUpdateDirectiveInline(vendor.js:13047)
在checkAndUpdateNodeInline(vendor.js:14571)
在debugCheckAndUpdateNode(vendor.js:15407)
在Object.eval[作为updateDirectives](ng:///AppModule/HomePage\u Host.ngfactory.js:9)
在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)
at r.runTask(polyfills.js:3)
在o(polyfills.js:3)defaultErrorLogger@vendor.js:2085
我怎么了,还是忘了什么?
这个问题发生在我使用过的每个插件上。