Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 离子3存储定时_Javascript_Angularjs_Typescript_Ionic Framework - Fatal编程技术网

Javascript 离子3存储定时

Javascript 离子3存储定时,javascript,angularjs,typescript,ionic-framework,Javascript,Angularjs,Typescript,Ionic Framework,我正在从存储器中加载一些json,并打算在页面html模板中显示信息。但是,当我这样做时,在进入页面时,我会收到错误,暗示信息(尚未)可用 我可能误解了这个概念,但是否可以对离子存储进行同步调用而不是异步调用?我基本上想检查配置文件是否存储在设备上,如果没有->推回到登录屏幕。但显然,对离子存储的调用花费的时间太长,并且在加载页面时,尚未解决 第页 private user:User; constructor(private storage: Storage) { storage.

我正在从存储器中加载一些json,并打算在页面html模板中显示信息。但是,当我这样做时,在进入页面时,我会收到错误,暗示信息(尚未)可用

我可能误解了这个概念,但是否可以对离子存储进行同步调用而不是异步调用?我基本上想检查配置文件是否存储在设备上,如果没有->推回到登录屏幕。但显然,对离子存储的调用花费的时间太长,并且在加载页面时,尚未解决

第页

private user:User;
constructor(private storage: Storage) {   
    storage.get('user').then(data => {
      this.user = data;
    });
  }
page.html

<ion-content padding>
  <div>
    <p>Welcome <b>{{user.name}}</b></p>    
  </div>
</ion-content>

欢迎{{user.name}}

正如我所说,这将给我一个错误,user.name是未定义的。 当使用ngif指令等待承诺得到解决时,它是有效的。 但我想我误解了这个概念

<ion-content padding>
  <div *ngIf="user">
    <p>Welcome <b>{{user.name}}</b></p>    
  </div>
</ion-content>

欢迎{{user.name}}


那么,当加载/输入页面时,我如何调用离子存储并使数据可用呢?

这只是因为从存储中获取用户需要一些时间

另一个避免不带*ng的错误的建议是:

private user:User = new User(); // Initialize the user property

constructor(private storage: Storage) {   
    storage.get('user').then(data => {
        this.user = Object.assign(new User, data);
    });
}
可能误解了这个概念,但是否有可能 对离子存储的同步调用而不是异步调用

这是一个异步操作,我认为你不能用同步的方式来完成。 无论哪种方式,使用*ngIf=“user”的解决方案都是一个很好的解决方案,您还可以添加以下内容

  <div *ngIf="!user">
     //Load a spinner, or a loading bar
  </div>

//加载微调器或加载条