【发布时间】:2020-06-14 07:46:33
【问题描述】:
在有人将此问题标记为重复之前,我尝试了以下问题:
Angular 5 router.navigate does not work
router.navigate is not working (Angular6, lazy loading)
router navigate doesn't redirect to other page
我尝试了这些问题的解决方案,但没有任何效果。所以我来这里问我自己的问题。 现在问题来了:
我创建了一个新应用程序,我试图从App.Component 和router.navigate() 路由到Home.Component。以下是供参考的文件:
应用组件.html
<p>App component works</p>
<button (click)="onClick()">Click Home</button>
App.component.ts
import { Router, ActivatedRoute } from '@angular/router';
export class AppComponent {
constructor(private router:Router){}
onClick(){
console.log("Button clicked!!");
this.router.navigate(['home']);
}
}
app-routing.module.ts
const routes: Routes = [
{ path:'', component: AppComponent, pathMatch:'full'},
{path:'home', component:HomeComponent},
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
app.module.ts
@NgModule({
declarations: [
AppComponent,
HomeComponent
],
imports: [
BrowserModule,
AppRoutingModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
我不明白为什么单击Click Home 按钮时没有加载home.component.html。
另外,我尝试创建另一个组件Second.component 并尝试在按钮单击时从Home.component 加载相同的组件(Home.component 内的按钮)。
组件不是延迟加载的(它们在同一个模块中)。 每当我单击按钮时,网址都会更改。那么为什么关联的组件不加载呢?我错过了配置的某些部分吗? Here is the demo
【问题讨论】:
-
你能为此分享stackblitz吗?
-
@silentsudo 我正在更新问题。请在其中找到 stackblitz url。
标签: angular typescript