Ich setze den Wert des Speichers in ionic. Aber ich kann es nicht abrufen.Ionic2 - Setzen und Abrufen des Werts des Speichers schlägt fehl
Dies ist, was ich
In meinem Login-Dienst Ich habe versucht
in einem anderen Dienst getan habenthis._storage.get('token')
.then(res=>{
console.log("in the other area token is"+res)//this is null
}
);
Ich habe versucht, in einem Konstruktor
@Injectable()
export class Authservice {
storage: Storage;
login(user: UserModel): Observable<any> {
return this._http.post(this.loginurl + "mobile-login", body)
.map((response: Response) => {
let token = response.json().access_token;
if (token) {
console.log(token) //this returns a value of the token
this.storage.set('token', token);
this.storage.get('token').then((val) => {
console.log("token value now is"+val); //this returns nothing
})
} else {
// return false to indicate failed login
return false;
}
})
//.catch(this.handleError);
}
auch den Wert Abrufen so
authtoken:string;
constructor(private http: Http, private _storage:Storage) {
this._storage.get('token')
.then(res=>{
this.authtoken= res;
}
);
}
Dann in der Komponente Ich habe versucht
console.log(this.authtoken) //still nothing
In meiner App-Modul habe ich auch hinzugefügt
providers[Storage]
Was könnte das Problem sein. Ich teste am Chrome Browser.
Also meinen Sie, dass der tokenevent auf alle Dienste und Komponenten zur Verfügung stehen wird? –
Wenn Sie mehrere Module haben, so benötigt der AuthService in einem SharedModule, und andere Modul wird dieses SharedModule importieren –
dann alles injizieren AuthService kann auf 'tokenEvent' zugreifen –