我有這個樣本登錄頁面,我試圖將存儲數據(用戶數據)的返回對象到存儲,所以我可以得到它並在其他頁面中使用它...因爲數據是以json Object(array)的形式...我不知道這是如何完成的,我試圖將其串化,但有些錯誤!設置和獲取對象從存儲在離子2
login.ts:
@Component({
selector: 'page-login',
templateUrl: 'login.html'
})
export class LoginPage {
login: {username?: string , password?: string} = {};
submitted = false;
loginDetails: any;
constructor(public navCtrl: NavController, private schoolAppUsers: SchoolAppUsers,
public userData: UserData, public storage: Storage, public globalService: GlobalService) {
this.globalService=globalService;
this.schoolAppUsers=schoolAppUsers;
this.userData=userData;
}
onLogin(form) {
this.submitted = true;
if (form.valid) {
this.schoolAppUsers.login(this.login)
.then(loginDetails => {
this.loginDetails = loginDetails;
this.navCtrl.setRoot(TabsPage);
// console.log(loginDetails);
});
this.userData.login(this.login.username);
this.userData.loginDetails(this.loginDetails);
}
}
}
當我的控制檯日誌://console.log(loginDetails);這是輸出(對象): [{「error」:「false」,「UserID」:1,「name」:「yasir」,「username」:「yasir12」,「password」:「123」角色「:1}]
所以我試圖通過它:this.userData.loginDetails(this.loginDetails);
userData.ts:
@Injectable()
export class UserData {
constructor(public events: Events, public storage: Storage) {}
loginDetails(loginDetails) {
this.setLoginDetails(loginDetails);
};
setLoginDetails(loginDetails) {
this.storage.set('loginDetails', JSON.stringify(loginDetails));
};
getLoginDetails() {
return this.storage.get('loginDetails').then((value) => {
return value && JSON.parse(value);
});
};
我這是如何試圖在其他頁面,這時候我控制檯登錄其返回「空」或「不確定」
loginDetails: any;
ngAfterViewInit() {
this.getUserdetails();
}
getUserdetails() {
this.userData.getLoginDetails().then((loginDetails) => {
this.loginDetails = loginDetails;
console.log(this.loginDetails);
});
}
可以
有人拿到請幫忙!
這裏同樣也是因爲這個 –
我不知道任何更新,即時插得太深,甚至在離子2論壇,沒有人回答 –