【问题标题】:How to list all items of an object in ionic 3?如何在 ionic 3 中列出对象的所有项目?
【发布时间】:2018-11-18 19:04:38
【问题描述】:

个人问题也许我的问题不太清楚,但我想做的是通过点击类别屏幕中的 Feed 项,在公司屏幕上列出与 Feeding 相关的所有公司。

我很困惑,因为每个类别都会有几家公司,我不知道如何正确列出它们,有人可以帮助我吗?

我们有我的类别屏幕并单击 Feed 项的第一张图片将显示与 Feed 类别相关的所有公司。

我的下一张图片与公司页面相关,这里将列出所有与食品相关的公司

我的项目在我的应用程序中被存储为一个对象。

这是我的home.html

    <ion-content id="#pageTop">
  <ion-searchbar (ionInput)="getItems($event)" placeholder="Pesquisar"></ion-searchbar>
  <ion-item *ngFor="let item of items">
    <ion-thumbnail item-left>
        <img [src]="item.imagem">
    </ion-thumbnail>
    <h2>{{ item?.category }}</h2>
    <button ion-button clear item-end color="primary" (click)="itemTapped($event, item)">Abrir</button>
  </ion-item>

  <ion-fab right bottom>
    <button ion-fab color="secondary" (click)="pageScroller()"><ion-icon name="ios-arrow-up"></ion-icon></button>
  </ion-fab>

在我的home.ts 内部是存储对象的地方

    initializeItems(){
    this.items = [
      { category: 'Alimentação', imagem: '../../assets/imgs/alimentacao.jpeg'},
    ]
  }

在这部分我有疑问,因为我的意图是在对象中添加一个公司类型的数组并在那里添加所有公司,但是不可能放置重复的对象。

喜欢这个例子

 this.items = [
      { category: 'Alimentação', imagem: '../../assets/imgs/alimentacao.jpeg', company:'companyOne', company:'companyTwo'},
    ]

而我的company.html是这样的

    <ion-item *ngFor="let company of company">
      <h2>{{ company?.category }}</h2>
    </ion-item>

而我的company.ts是这样的

   company: any[];
   constructor(public navCtrl: NavController, public navParams: NavParams) {
    this.company = this.navParams.get('item');
  }

【问题讨论】:

  • 无需在 items 数组中添加每个公司,而是添加一个名为“companies”的属性并将数组分配给它。在该属性的模板中使用 ngFor。有意义吗?
  • 您有任何文档以便我阅读和理解更多或一些示例吗?

标签: javascript angular typescript ionic-framework


【解决方案1】:

您是说您的意图是添加一组公司对象(据我所知)。我不知道你为什么最后没有。

我认为您应该将公司作为数组存储在您的项目中:

    this.items = [
        {   category: 'Alimentação', 
            imagem: '../../assets/imgs/alimentacao.jpeg', 
            companies:[{ /*first company object*/}, {/*second company object*/}]
        }];

你会显示与这样一个项目相关的公司:

<ion-item *ngFor="let item of items">
    <ion-item *ngFor="let company of item.companies">
        <h2>{{ company?.category }}</h2>
    </ion-item>
</ion-item>

【讨论】:

  • 公司内部的对象被注释掉了,我这里尝试复现,语法有错误
  • 我不知道你公司对象的真实内容,所以我把cmets作为占位符。我想它看起来像这样:companies:[{ name:"myFirstComp", category:"foo"}, { name:"mySecondComp", category:"bar" }]
  • 我会尽快测试,因为会有几个类别,每个类别都会有一个公司。通过单击主屏幕中的类别,我希望仅在所选类别中链接的项目出现在公司页面中。
猜你喜欢
  • 2011-04-19
  • 1970-01-01
  • 2020-06-06
  • 2014-04-29
  • 1970-01-01
  • 2019-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多