Хорошо, я думаю, что нашел решение.
this.storage.get('tabs').then((tabs) => {
if (tabs.length < 6) {
for (let title of tabs) {
this.drawTab(title);
}
} else {
var tabNumber = 0;
for (let title of tabs) {
if (tabNumber === 4) {
this.unionTabs.push({ title: 'More', root: TabListPage, icon: 'menu' });
break
}
tabNumber++;
this.drawTab(title);
}
}
})
drawTab(tabName: string) {
switch (tabName) {
case 'Home': this.unionTabs.push({ title: tabName, root: HomePage, icon: 'home' });
break;
case 'Social Feed': this.unionTabs.push({ title: tabName, root: SocialFeedPage, icon: 'pulse' })
break;
case 'Contact': this.unionTabs.push({ title: tabName, root: ContactPage, icon: 'contacts' })
break;
case 'Mail': this.unionTabs.push({ title: tabName, root: MailClientPage, icon: 'mail' })
break;
case 'Events': this.unionTabs.push({ title: tabName, root: EventsPage, icon: 'megaphone' })
break;
case 'Settings': this.unionTabs.push({ title: tabName, root: SettingsPage, icon: 'settings' })
break;
default: alert('There is some error with the tabs!!')
}
}
А на «MorePage» вы можете делать с остальными вкладками все, что захотите:
listTabs = [];
this.storage.get('tabs').then((tabs)=>{
let tabCounter = 0;
for (let tab of tabs){
tabCounter++;
if(tabCounter > 4){
this.listTabs.push(tab)
}
}
})
Надеюсь, кто-то найдет это полезным, как я.