Настройка вкладок для ионных вкладок на корневом уровне - PullRequest
0 голосов
/ 23 февраля 2019

Я ищу помощь по настройке ion-tabs, поэтому вкладки находятся на корневом уровне, а не нуждаются во вложенной папке.Поэтому вместо /tabs/tab1 Я хочу /tab1.

Я следую за комбинацией Ионная академия и документации для Ионная и Угловой маршрутизатор .

Я использую настройки по умолчанию, которые вы получаете при запуске ionic start myApp tabs.

Скорее всего, обновление tabs.router.module.ts, но не уверен, если / как это возможно.Вот код оттуда.

import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { TabsPage } from './tabs.page';

const routes: Routes = [
  {
    path: 'tabs',
    component: TabsPage,
    children: [
      {
        path: 'check-in',
        children: [
          {
            path: '',
            loadChildren: '../pages/check-in/check-in.module#CheckInPageModule'
          }
        ]
      },
      {
        path: 'house-manual',
        children: [
          {
            path: '',
            loadChildren: '../pages/house-manual/house-manual.module#HouseManualPageModule'
          }
        ]
      },
      {
        path: 'local-area',
        children: [
          {
            path: '',
            loadChildren: '../pages/local-area/local-area.module#LocalAreaPageModule'
          }
        ]
      },
      {
        path: '',
        redirectTo: '/tabs/check-in',
        pathMatch: 'full'
      }
    ]
  },
  {
    path: '',
    redirectTo: '/tabs/check-in',
    pathMatch: 'full'
  }
];

@NgModule({
  imports: [
    RouterModule.forChild(routes)
  ],
  exports: [RouterModule]
})
export class TabsPageRoutingModule {}

Моя последняя попытка - это app-routing.module, но когда я изменяю path: 'tabs' на path: '', он прерывается на ERROR Error: "[object Object]" в консоли.

import { NgModule } from '@angular/core';
import { PreloadAllModules, RouterModule, Routes } from '@angular/router';
import {TabsPage} from './tabs/tabs.page';

const routes: Routes = [
    {
        path: '',
        component: TabsPage,
        children: [
            {
                path: 'check-in',
                children: [
                    {
                        path: '',
                        loadChildren: './pages/check-in/check-in.module#CheckInPageModule'
                    }
                ]
            },
            {
                path: 'house-manual',
                children: [
                    {
                        path: '',
                        loadChildren: './pages/house-manual/house-manual.module#HouseManualPageModule'
                    }
                ]
            },
            {
                path: 'local-area',
                children: [
                    {
                        path: '',
                        loadChildren: './pages/local-area/local-area.module#LocalAreaPageModule'
                    }
                ]
            },
            {
                path: '',
                redirectTo: '/check-in',
                pathMatch: 'full'
            }
        ]
    },
    {
        path: '',
        redirectTo: '/check-in',
        pathMatch: 'full'
    }
];

@NgModule({
  imports: [
    RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })
  ],
  exports: [RouterModule]
})
export class AppRoutingModule {}

1 Ответ

0 голосов
/ 12 июля 2019

Простой способ добиться этого, просто добавьте следующие атрибуты в кнопки вкладок на своей странице tabs.page.html

routerLink="/tab1" routerDirection="root"

Пример

    <ion-tabs>

      <ion-tab-bar slot="bottom">
        <ion-tab-button routerLink="/tab1" routerDirection="root" tab="tab1">
          <ion-icon name="flash"></ion-icon>
          <ion-label>Tab One</ion-label>
        </ion-tab-button>

        <ion-tab-button routerLink="/tab2" routerDirection="root"  tab="tab2">
          <ion-icon name="apps"></ion-icon>
          <ion-label>Tab Two</ion-label>
        </ion-tab-button>

        <ion-tab-button routerLink="/tab3" routerDirection="root"  tab="tab3">
          <ion-icon name="send"></ion-icon>
          <ion-label>Tab Three</ion-label>
        </ion-tab-button>
      </ion-tab-bar>

    </ion-tabs>
...