我有这个样本登录页面,我试图将存储数据(用户数据)的返回对象到存储,所以我可以得到它并在其他页面中使用它...因为数据是以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论坛,没有人回答 –