Как прочитать атрибут "имя" моего массива json в Ionic - PullRequest
0 голосов
/ 05 декабря 2018

формат локального хранилища json array

Здравствуйте, я занимаюсь разработкой ионного приложения.Я новичок в Ionic и Typescript.

Как вы можете видеть на рисунке ниже, я анализирую из API мои данные в массиве json.

В файле ts, который я пишуэтот код

`public categoryDetails: any;

const datacat = JSON.parse (localStorage.getItem ('categoryData')));this.categoryDetails = datacat.categoryData; `

И в моем HTML-файле, когда я пишу это

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

Я получаю сообщение об ошибке" Ошибка типа: Не удается прочитать свойство'name' of undefined "

Я знаю, что неправильно читаю атрибут" name ".Как я могу это сделать?

Кроме того, как я могу отобразить предприятия, которые связаны со специальным term_id категории?

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Я, наконец, вычеркнул это.

@ 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:Categories = navParams.get ("businessCategory");console.log (businessCategory);/ экспортирует выбранную категорию /

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

, которая берет свойства и значения из моей предыдущей страницы категории.Код TS

`category: [categoryDetails] = null;

gotobusiness (категория: категории) {this.navCtrl.push (BusinessPage, {businessCategory: category});} `

0 голосов
/ 05 декабря 2018

В этом примере вам нужно сделать это

<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;
  });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...