本机存储错误,不显示以下屏幕
Posted
技术标签:
【中文标题】本机存储错误,不显示以下屏幕【英文标题】:Native Storage Error, does not display the following screen 【发布时间】: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)。 【参考方案1】:您需要使用fat arrow functions,如下所示。
ionViewCanEnter()
let env = this;
return this.nativeStorage.getItem('user')
.then((data) =>
env.user =
name: data.name,
email: data.email
;
console.log(env.user);
env.userReady = true;
return true;
, (error)=>
console.log(error);
return false;
);
【讨论】:
你好,对不起我的英语,出现 esque 的错误不会发生在下一页,那个班级告诉我这个 vacion entocnes 我的问题是我该怎么做一个 if 以便当这个 vacion在 ngModel 中把我“”以上是关于本机存储错误,不显示以下屏幕的主要内容,如果未能解决你的问题,请参考以下文章
基本反应本机应用程序不显示任何文本,只有白色屏幕和模拟器上的应用程序名称