路由更改 URL 但不显示相应页面
Routes changes URL but doesn't display corresponding page
我正在尝试在页面之间导航,但它不起作用。我已经定义了路由,正在根据 Angular 文档使用 routerLink 并检查了无数 Whosebug 主题,但仍然无法正常工作。
我的项目是新的,所以我基本上只有这3个组件:
_ AppComponent(其他 2 个的父级)
_ WelcomePageComponent
_ LandingPageComponent
这是我定义路线的app.module.ts。
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { AppComponent } from './app.component';
import { WelcomePageComponent } from './welcome-page/welcome-page.component';
import { LandingPageComponent } from './landing-page/landing-page.component';
const routes: Routes = [
{ path: '', component: AppComponent},
{ path: 'welcome', component: WelcomePageComponent },
{ path: 'landing', component: LandingPageComponent }
];
@NgModule({
entryComponents: [
WelcomePageComponent,
LandingPageComponent
],
declarations: [
AppComponent,
WelcomePageComponent,
LandingPageComponent
],
imports: [
BrowserModule,
RouterModule.forRoot(routes)
],
exports: [RouterModule],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
这是 html 我尝试创建一个 link 欢迎页面的地方。
<ul>
<li>
<a [routerLink]="['/welcome']" routerLinkActive="active">Welcome Page</a>
</li>
</ul>
<router-outlet></router-outlet>
单击 link 时,URL 会发生变化,但页面不会发生变化。尽管显示欢迎页面内容,但我宁愿完全更改页面。
我做错了什么?
谢谢
您必须稍微更改设计才能实现您想要的效果。
第 1 步:创建一个 NavComponent
,它将包含所有导航链接。从 AppComponent
中删除链接。它应该只包含 router-outlet
标签。
步骤 2:更新路由配置如下:
const routes: Routes = [
{ path: '', component: NavBarComponent},
{ path: 'welcome', component: WelcomePageComponent },
{ path: 'landing', component: LandingPageComponent }
];
添加了一个demo code
我正在尝试在页面之间导航,但它不起作用。我已经定义了路由,正在根据 Angular 文档使用 routerLink 并检查了无数 Whosebug 主题,但仍然无法正常工作。
我的项目是新的,所以我基本上只有这3个组件: _ AppComponent(其他 2 个的父级) _ WelcomePageComponent _ LandingPageComponent
这是我定义路线的app.module.ts。
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { AppComponent } from './app.component';
import { WelcomePageComponent } from './welcome-page/welcome-page.component';
import { LandingPageComponent } from './landing-page/landing-page.component';
const routes: Routes = [
{ path: '', component: AppComponent},
{ path: 'welcome', component: WelcomePageComponent },
{ path: 'landing', component: LandingPageComponent }
];
@NgModule({
entryComponents: [
WelcomePageComponent,
LandingPageComponent
],
declarations: [
AppComponent,
WelcomePageComponent,
LandingPageComponent
],
imports: [
BrowserModule,
RouterModule.forRoot(routes)
],
exports: [RouterModule],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
这是 html 我尝试创建一个 link 欢迎页面的地方。
<ul>
<li>
<a [routerLink]="['/welcome']" routerLinkActive="active">Welcome Page</a>
</li>
</ul>
<router-outlet></router-outlet>
单击 link 时,URL 会发生变化,但页面不会发生变化。尽管显示欢迎页面内容,但我宁愿完全更改页面。
我做错了什么?
谢谢
您必须稍微更改设计才能实现您想要的效果。
第 1 步:创建一个 NavComponent
,它将包含所有导航链接。从 AppComponent
中删除链接。它应该只包含 router-outlet
标签。
步骤 2:更新路由配置如下:
const routes: Routes = [
{ path: '', component: NavBarComponent},
{ path: 'welcome', component: WelcomePageComponent },
{ path: 'landing', component: LandingPageComponent }
];
添加了一个demo code