如何在Ionic中读取我的json数组的属性“名称”

时间:2018-12-05 11:37:15

标签: arrays json typescript ionic3

json array localstorage format

您好,我正在开发一个离子应用程序。我是Ionic和Typescript的新手。

如下图所示,我正在从API解析json数组中的数据。

在ts文件上,我正在编写这段代码

` 公共类别详细信息:任何;

const datacat = JSON.parse(localStorage.getItem('categoryData'));     this.categoryDe​​tails = datacat.categoryData;`

当我写这篇文章时,在我的html文件中

<h1 class="business-top">Business of the category {{categoryDetails.name}}</h1>

我收到错误消息“ TypeError:无法读取未定义的属性'名称'”

我知道我没有正确读取属性“名称”。我该怎么办?

此外,如何显示与该类别的特殊term_id相关联的公司?

2 个答案:

答案 0 :(得分:0)

在此示例中,您需要这样做

<h1 class="business-top">Business of the category {{categoryDetails?.name}}</h1>

public categoryDetails: any;

this.categoryDetails = localStorage.getItem('categoryData');

或者您可以使用离子存储。最好使用离子型。

https://ionicframework.com/docs/storage/

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

export class MyApp {
public categoryDetails: any;
  constructor(private storage: Storage) { }

  ...

  // set a key/value
  storage.set('categoryData', 'Max');

  // Or to get a key/value pair
  storage.get('categoryData').then((val) => {
    this.categoryDetails = val;
  });
}

答案 1 :(得分:0)

我终于弄清楚了。

@Kilomat感谢您的帮助和有关使用离子存储的建议。这使我免于未来的麻烦。

关于我所做的json文件。

在我的HTML代码中 <ion-grid no-margin> <h1 class="business-top">Επιχειρήσεις της κατηγορίας {{businessData.name}} {{businessData.term_id}}</h1> <ion-list> <ion-item class="col col-50" *ngFor="let c of BusinessCategoryDetails" text-wrap (click)="product(c)"> <div *ngIf="c.term_id == businessData.term_id"> <h2>{{c.post_title}} {{c.term_id}}</h2> <img width="80" height="80" src="{{c.guid}}"> </div> </ion-item> </ion-list> </ion-grid>

在我的TS代码中 var businessCategory:类别= navParams.get(“ businessCategory”);     console.log(businessCategory); / 导出选定类别 /

var newData = JSON.stringify(businessCategory);
this.businessData = JSON.parse(newData);`

哪个属性和值来自我之前的类别页面。 TS代码

`类别:[categoryDe​​tails] = null;

gotobusiness(类别:类别){     this.navCtrl.push(BusinessPage,{businessCategory:category});   }`