对于移动应用,我使用ionic2平台。第一个屏幕是登录,但我会记住用户信息。因此我创建了一个服务(见下文) 问题是我有这个错误: 财产'电子邮件'类型' {}'。
上不存在登录检查是这样的:
var dataUser = this.userService.getUser().then(dataUser => {
console.log(JSON.stringify(dataUser));
this.userService.checkUser(dataUser.email,dataUser.password).then(dataCheck => {
if (dataCheck) {
this.userService.setUser(dataCheck);
this.nav.setRoot(HomePage);
} else {
console.log("not correct");
}
});
});
所以在获取dataUser.email时他会抛出这个错误......但我找不到任何解决办法来解决这个问题:(
import { Storage } from '@ionic/storage';
import {UserModel} from '../models/user.model'
@Injectable()
export class UserService {
constructor(public http: Http, public storage: Storage) {
}
setUser(user) {
this.storage.set('user',user);
}
getUser() {
return new Promise(resolve => {
this.storage.get('user').then((user) => {
if (user != null) {
resolve(user);
} else {
resolve(new UserModel());
}
});
})
}
checkUser(email,password) {
}
答案 0 :(得分:1)
我使用NativeStorage:
NativeStorage.setItem('user',{email: this.email, password: this.password}).then(() => {
console.log("credentials stored");
}
然后获取信息
NativeStorage.getItem('user').then((user) => {
console.log("this is email: " + user.email);
console.log("this is password: " + user.pasword);
}
不要忘记安装插件并导入
import { NativeStorage } from 'ionic-native';
另请参阅插件文档,了解如何从Native Storage中清除。我希望这有帮助。