Impossible de résoudre tous les paramètres pour le stockage: (?)
J'obtiens des valeurs à partir d'un modal et je veux stocker et obtenir l'utilisation de locaux de stockage dans ionic2 angular2 projet. Mon code est donné ci-dessous. Il donne l'erreur suivante:
Dans home.ts
page, j'ai importé de stockage
import { Storage } from '@ionic/storage';
@Component({
selector: 'page-home',
templateUrl: 'home.html',
providers :[
Storage
]
})
export class HomePage {
private DistanceUnit: string;
private selectedRadious : number;
constructor(public navCtrl: NavController
public modalCtrl: ModalController,
public storage: Storage) {
}
presentModal() {
this.storage.get('distUnit').then((val) => {
console.log('Your distUnit is', val);
this.DistanceUnit = val;
})
.catch(err=>{
console.log('Your distUnit dont exist: ' + JSON.stringify(err));
this.DistanceUnit = 'Meters';
});
this.storage.get('SetRadious').then((val) => {
console.log('Your SetRadious is', val);
this.selectedRadious = val;
})
.catch(err=>{
console.log('Your SetRadious dont exist: ' + JSON.stringify(err));
this.selectedRadious = 500;
});
let obj = {selectedRadious: this.selectedRadious, DistanceUnit: this.DistanceUnit};
let myModal = this.modalCtrl.create(SettingModalPage, obj);
myModal.onDidDismiss(data => {
console.log('modal value: '+data.DistanceUnit)
this.DistanceUnit = data.DistanceUnit;
this.selectedRadious = data.selectedRadious;
this.storage.set('distUnit', this.DistanceUnit);
this.storage.set('SetRadious', this.selectedRadious);
});
myModal.present();
}
}
Dans app.module.ts
fichier,
import { NgModule, ErrorHandler } from '@angular/core';
import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
import { HttpModule } from '@angular/http';
import { Storage } from '@ionic/storage';
import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';
import { DetailsPage } from '../pages/details/details';
import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';
import { TypeApi } from '../shared/shared';
import { PlaceDetailService } from '../shared/shared';
import { LaunchNavigator, LaunchNavigatorOptions } from '@ionic- native/launch-navigator';
import { SettingModalPage } from '../pages/setting-modal/setting-modal';
@NgModule({
declarations: [
MyApp,
HomePage,
DetailsPage,
SettingModalPage
],
imports: [
IonicModule.forRoot(MyApp),
HttpModule
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage,
DetailsPage,
SettingModalPage
],
providers: [
Storage,
TypeApi,
PlaceDetailService,
LaunchNavigator,
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler}
]
})
export class AppModule {}
source d'informationauteur alka vaghela
Vous devez vous connecter pour publier un commentaire.
De
@ionic/storage version - 2.0.0
faire les changements suivants:
app.le module.ts
Remarque: vous devez supprimer
import { Storage } from '@ionic/storage';
Vérifier les notes de version ici
J'ai rencontré le même problème, tout en suivant ce cool tut. Si si vous choisissez de suivre le tut, assurez-vous d'avoir installé les plugins cordova répertoriés au début de la vidéo:
https://www.youtube.com/watch?v=Cnj9fQCyflY
http://technotip.com/5171/ionic-storage-ionic-2/
et c'est une façon de corriger l'erreur:
Ionique Dans Les 3...
À partir de l'url ci-dessous:
https://ionicframework.com/docs/storage/
D'abord, si vous souhaitez utiliser SQLite, installez le cordova-sqlite-stockage plugin:
Ensuite, installez le package (livré par défaut pour Ionique applications > Ionique V1):
Prochain, l'ajouter à la liste des imports dans votre
NgModule
déclaration (par exemple, danssrc/app/app.module.ts
):Enfin, et l'injecter dans un de vos composants ou des pages:
J'ai eu ce problème moi-même. Tout d'abord, vous avez besoin de voir ce mise à jour.
Fondamentalement, vous avez besoin de:
Storage
de votreproviders
dansapp.module.ts
import { IonicStorageModule } from '@ionic/storage'
au lieu deimport { IonicStorage } from '@ionic/storage'
dansapp.module.ts
IonicStorageModule.forRoot()
à laimports
tableau dansapp.module.ts
Après que, bien que, j'avais toujours une erreur (ne Peut pas résoudre tous les paramètres de Stockage: (?)). J'ai trouvé que j'ai été en utilisant
Storage
en tant que fournisseur dans un composant. Vous avez besoin de l'enlever. Voir ci-dessous:Vous avez besoin de déplacer le code où vous avez accès à l'valeurs à partir d'une résolu promesse dans le
.then()
de cette promesse. Depuis, il est asynchrone en fonctionnement, par le temps que vous l'utilisez, il peut ne pas être disponible.E. g. cela pourrait fonctionner:
Si vous lisez soigneusement le code, vous obtiendrez de savoir que j'ai manipulé tous les cas, pour obtenir à la fois les paramètres et si l'un d'entre eux tombe en panne. Check it out et laissez-moi savoir.
La réponse de suraj apporté la solution décisive.
J'ai eu le même problème. Dans app.le module.ts j'ai eu les deux spécifié:
import {IonicStorageModule} from '@ionic/storage';
et:import {Storage} from '@ionic/storage'
.Quand je ne pouvais pas résoudre le problème, j'ai installé: npm install @ionique/stockage. J'ai supprimé:
import {Storage} from '@ionic/storage'
de app.le module.ts, et ne le quitta ce:import {IonicStorageModule} from '@ionic/storage';
Après que le problème a été résolu.