Маршрутизация страниц через боковое меню в Ioni c 4 - PullRequest
1 голос
/ 18 февраля 2020
     For days now I've been trying to route/link pages via the side-menu. So that I'm able to move to different pages from the side-menu itself. I've searched for tutorials on Angular 8 and Ionic 4 but couldn't find the specific article that relates to my issue.

Я предполагаю маршрутизировать страницы, создавая компоненты страниц (элементы, которые будут в боковом меню) для упрощения маршрутизации. Я также немного знаю, какие коды использовать для маршрутизации, но не знаю, где его использовать, поскольку использование кодов в неправильном месте не даст мне никакого разрешения.

This is my app.component.ts file.

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';

import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';

import { AppComponent } from './app.component';
import { AppRoutingModule, routeComponents } from './app-routing.module';

@NgModule({
  declarations: [AppComponent, routeComponents],
  entryComponents: [],
  imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule],
  providers: [
    StatusBar,
    SplashScreen,
    { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}  

Ниже приведен файл app-routing.module.ts.

import { NgModule } from '@angular/core';
import { PreloadAllModules, RouterModule, Routes } from '@angular/router';
import { TrackComponent } from './track/track.component';
import { AboutComponent } from './about/about.component';
import { CategoryComponent } from './category/category.component';
import { HomeComponent } from './home/home.component';

const routes: Routes = [
  { path: '', redirectTo: 'home', pathMatch: 'full' },
  { path: 'home', loadChildren: () => import('./home/home.component').then( m => 
m.HomeComponent)},
  { path: 'category', loadChildren: () => import('./category/category.component').then( m => 
m.CategoryComponent)},
  { path: 'track', loadChildren: () => import('./track/track.component').then( m => 
m.TrackComponent)},
  { path: 'about', loadChildren: () => import('./about/about.component').then( m => 
m.AboutComponent)}
];

@NgModule({
  imports: [
    RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })
  ],
  exports: [RouterModule]
})
export class AppRoutingModule { }
export const routeComponents = [CategoryComponent, TrackComponent, AboutComponent, 
HomeComponent];

Пожалуйста, дайте мне знать, если мне также нужно изменить файлы html для каждого пункта меню. Если возможно, пожалуйста, попытайтесь объяснить мне это в термине дилетанта.

1 Ответ

0 голосов
/ 18 февраля 2020

В файле ts:

import { Router } from "@angular/router";

constructor(private router:Router){}
navtigateToPage(pageName){
 this.router.navigate([pageName]);
}

В файле html:

<ion-item (click)="navtigateToPage('track')">
<ion-label>track</ion-label>
</ion-item>

(щелчок) может быть добавлен к любому элементу узла (div, span, ion-icon). ..)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...