在我的应用程序中,我使用IonicStorageModule(ionic4和angular8)在前端使用数据库。它可以在Web(chrome&Firefox)上运行,但是当我模拟时,它不起作用。我也在移动设备上尝试过,并且遇到了同样的问题...
我尝试使用本机存储,但是无法在Web上对其进行测试,并且它无法在设备或模拟器上运行。
在HTML代码中,我使用ngSubmit“ onAddLocation”进行调用,该调用调用locService.addLocation(data)。 在模拟器和设备中,我没有日志(我不知道如何拥有日志)。
//app.module.ts:
imports: [BrowserModule,
IonicModule.forRoot(),
AppRoutingModule,
HttpClientModule,
IonicStorageModule.forRoot({
name:'MyLocations',
driverOrder:['indexeddb','sqlite','websql']
}),...
//loc.service.ts:
export class LocService {
private locations:Array<Place>=[];
public currentLocation:Place;
constructor(private storage:Storage) {
}
public getLocations(){
return this.storage.get("locations").then(data=>{
this.locations=(data!=null?data:[]);
return this.locations.slice();
});
}
public addLocation(place:Place){
this.locations.push(place);
this.storage.set("locations",this.locations);
}
//location.page.ts:
onAddLocation(data:Place) {
this.geolocation.getCurrentPosition().then(resp=>{
data.coordinates={
longitude:resp.coords.longitude,
latitude:resp.coords.latitude
}
this.locService.addLocation(data);
this.navCtrl.back();
},err=>{
console.log('Error getting location', err);
})
}