IonicStorageModule: как он не работает на устройстве / симуляторе, но работает в сети - PullRequest
0 голосов
/ 04 октября 2019

В моем приложении я использую IonicStorageModule (ionic4 & angular8), чтобы использовать DB на front-End. Он работает в Интернете (chrome & Firefox), но когда я эмулирую его, он не работает. Я пробовал также на мобильном устройстве, и та же проблема ...

Я пытался использовать Native-storage, но не могу проверить его в Интернете, и он не работает на устройстве или симуляторе.

В 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);
        })

        }
...