Заполнение вкладки Ionic Programmatic

Я пытаюсь создать вкладку для каждого раздела меню.

Итак, у меня есть следующая структура данных:

[
  { name: 'Wines', contents:[...] },
  { name: 'Ciders', contents: [...] },
  { name: 'Beers', contents:[...] }
]

Я хочу, чтобы какой-то ngFor создавал вкладку для каждого элемента в массиве выше.

Я ничего не видел в Интернете для этого и не могу решить это сам.

У кого-нибудь есть опыт в этом?


person mwild    schedule 18.09.2017    source источник


Ответы (1)


Попробуйте что-то вроде этого:

let tabs = [{name:'Wines', contents:[...]},
 {name:'Ciders', contents: [...]},
 {name:'Beers', contents:[...]}
];

<ion-tabs>
  <ion-tab *ngFor="let tab of tabs" [root]="tab.name"></ion-tab>
</ion-tabs>

Это должно работать, если tab.name — это страница с декоратором @IonicPage, где имя класса равно свойству name вашего объекта вкладки. Пример:

@IonicPage()
@Component({
  ...
})
export class MyPage {
}

Тогда tab.name должно быть MyPage.

Обратите внимание, что установка строки в качестве корня вкладки использует ленивую загрузку для установки корневой страницы вкладки. Поэтому вам, вероятно, следует прочитать следующие статьи команды ionic-team, если вы не знакомы с ней:

person David    schedule 18.09.2017