Показать другой вид при условии - PullRequest
0 голосов
/ 25 апреля 2018

Я хочу получить другое представление, если я получу ноль на моем ngfor

    <ion-select interface="popover" [ngModel]="selectedKidId">
      <ion-option *ngFor="let kid of kids" [value]="kid.id">{{kid.name}}</ion-option>
    </ion-select>
  </ion-item>

Это покажет мне список имен детей, я хочу получить другое представление, которое вызывает компонент, который я создал, если в списке нет детей. Есть ли способ сделать это?

Спасибо

kids.ts

export class KidsPage {
  selectedKidId: string
  kids: Kid[] = []
  loveAmount: number

  constructor(
    public navCtrl: NavController,
    public navParams: NavParams,
    public modalCtrl: ModalController,
    private kidProvider: kidProvider,
  ) {
  }

  ionViewDidLoad() {

    this.initKids()
  }

  initkids() {
    this.kidProvider.getkid().subscribe(
      ({ data }) => {
        this.kids = data['mykids']
        if (this.kids.length > 0) {
          this.selectedKidId= this.kids[0].id
        }
      },
      (error) => {
        console.log(`getKids failed: ${JSON.stringify(error)}`)
      })
    this.kidProvider.subscribeToKids()
  }

1 Ответ

0 голосов
/ 25 апреля 2018

Вы можете использовать условие if-else в вашем представлении так же, как это:

<div *ngIf='kids.length'>
  <ion-select interface="popover" [ngModel]="selectedKidId">
    <ion-option *ngFor="let kid of kids" [value]="kid.id">{{kid.name}}</ion-option>
  </ion-select>
</div>
<add-kid *ngIf='!kids.length'></add-kid>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...