json array localstorage format
您好,我正在开发一个离子应用程序。我是Ionic和Typescript的新手。
如下图所示,我正在从API解析json数组中的数据。
在ts文件上,我正在编写这段代码
` 公共类别详细信息:任何;
const datacat = JSON.parse(localStorage.getItem('categoryData')); this.categoryDetails = datacat.categoryData;`
当我写这篇文章时,在我的html文件中
<h1 class="business-top">Business of the category {{categoryDetails.name}}</h1>
我收到错误消息“ TypeError:无法读取未定义的属性'名称'”
我知道我没有正确读取属性“名称”。我该怎么办?
此外,如何显示与该类别的特殊term_id相关联的公司?
答案 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代码
`类别:[categoryDetails] = null;
gotobusiness(类别:类别){ this.navCtrl.push(BusinessPage,{businessCategory:category}); }`