javascript - 来自 localstorage 的 {{array.value}} 不工作

标签 javascript angular typescript local-storage ionic2

我目前正在使用 ionic 2 构建一个简单的电子邮件表单。所以有一个表单,您可以在其中填写所有主题、消息和字体。填完表格后,我会把它作为一个对象放在@ionic/storage 中。您可以在下图中看到它:

ionic localstorage

现在,在下一页上,我尝试使用这些代码获取项目数据:

import { Component } from '@angular/core';
import { NavParams, NavController, LoadingController } from 'ionic-angular';

import { Storage } from '@ionic/storage';


@Component({
  selector: 'preview-email-page',
  templateUrl: 'preview-email.html',
})
export class PreviewEmailPage {
  loading: any;
  personalizeData: any[];

  constructor(
    public nav: NavController,
    public navParams: NavParams,
    public localStorage: Storage,
  ) {
    this.localStorage.get('personalizeData').then((value) => {
      this.personalizeData = value;
    })
  }

  ionViewWillEnter(){
    console.log(this.ecardData);
  }

控制台日志确实显示数据已从本地 ionic 存储中正确获取。 console.log 输出如下:

console.log pic

当我想在html页面中显示值时出现问题:

<ion-header>
  <ion-navbar>
    <button ion-button menuToggle>
      <ion-icon name="menu"></ion-icon>
    </button>
    <ion-title>
      <span>Personalize {{personalizeData.subject}}</span>
    </ion-title>
  </ion-navbar>
</ion-header>

如果控制台日志中出现以下警告,将无法访问 html 页面:

EXCEPTION: Error in ./PreviewEmailPage class PreviewEmailPage - inline template:6:12 caused by: Cannot read property 'subject' of undefined

谁能帮我找出错误的原因?非常感谢您的帮助。谢谢

最佳答案

那是因为模板渲染时没有定义personalizeData,使用安全导航操作符(?)来避免这个错误:

<span>Personalize {{personalizeData?.subject}}</span>

阅读更多关于安全导航运算符(operator)的信息 here .

关于javascript - 来自 localstorage 的 {{array.value}} 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41759320/

相关文章:

javascript - 如何通过nestjs在同一 Controller 中使用多个diskStorage目的地

javascript - 定位由 d3.js 创建的 div

JavaScript 删除 child

Angular2 为什么异步管道

javascript - 在 Visual Studio 中编译外部自己的项目

javascript - 在 keydown 事件中删除最后添加的特定符号?

javascript - .map回调函数参数未找到错误[Angular2,JavaScript]

angular - 如何在 Karma 中运行特定的测试文件? ( Angular 4+)

node.js - 有没有办法在 REST API 中访问 express 的应用程序?

javascript - 如何为按钮着色并保持状态?