【发布时间】:2018-02-01 09:36:09
【问题描述】:
我正在尝试实现登录。
其中有 2 个选项可以使用您在 FB 中的数据注册一个或另一个手动输入。
在您与 fb 建立联系的第一种形式中,他会带上您的姓名和邮件,然后将您发送到下一个窗口,您必须在其中输入您的电话号码
在 resgitro 的第二个选项中,您给出了现在注册的位置,它会将您带到同一页面,该页面仅在这次带有空字段的情况下从上方带您。
当我给出第二个选项时出现错误,我收到以下错误并且不显示屏幕:
它告诉我它是空的然后我的疑问是以下,因为当它到达空时它显示正常屏幕
这是我用 facebook 登录的代码:
loginWithFB() {
let nav = this.navCtrl;
let env = this;
this.facebook.login(['email', 'public_profile']).then((response: FacebookLoginResponse) => {
this.facebook.api('me?fields=id,name,email,first_name,picture.width(720).height(720).as(picture_large)', [])
.then(function (user) {
env.nativeStorage.setItem('user',
{
name: user.name,
email: user.email
})
.then(function () {
nav.push(RegistroNPage);
//console.log(user);
}, function (error) {
console.log(error);
})
})
});
}
也许上这个班是个错误:
ionViewCanEnter() {
console.log('Ya llegue');
let env = this;
return this.nativeStorage.getItem('user')
.then(function (data) {
env.user = {
name: data.name,
email: data.email
};
console.log(env.user);
env.userReady = true;
return true;
}, function (error) {
console.log(error);
return false;
});
}
这是我的注册页面中的 html,其中 2 个按钮到达:
<ion-content padding class="body" align="center">
<img src="assets/logito.png">
<br>
<br>
<ion-list *ngIf="userReady">
<ion-item>
<ion-label>
<ion-icon name="person"></ion-icon>
</ion-label>
<ion-input type="text" placeholder="Nombres" [(ngModel)]="user.name">
</ion-input>
</ion-item>
<ion-item>
<ion-label>
<ion-icon name="mail"></ion-icon>
</ion-label>
<ion-input type="text" placeholder="Nombres" [(ngModel)]="user.email">
</ion-input>
</ion-item>
<ion-item>
<ion-label>
<ion-icon name="call"></ion-icon>
</ion-label>
<ion-input clearInput type="number" placeholder="Teléfono">
</ion-input>
</ion-item>
</ion-list>
<button ion-button item-end round full icon-start color="dark" class="botones">
<ion-icon name='checkmark-circle-outline'></ion-icon>
registar
</button>
</ion-content>
【问题讨论】:
-
根据docs,当您尝试从不存在的存储中检索某些内容(未找到该密钥)时,这是预期的异常。在这种情况下听起来是对的,除非我误解了你。
-
@MattM 在这些情况下我该怎么办
-
我不确定我是否理解你。这个关键的“用户”应该什么时候真正存在于您的 nativeStorage 服务中?
-
您可以发布与注册相关的代码吗?注册成功后,应该这样存储用户数据:this.nativeStorage.setItem('user', user)。
标签: angular typescript ionic-framework ionic3