Angular 4路由无法正常工作

Kal*_*lam 4 angular2-forms angular2-routing angular5

我已经检查了堆栈上的流程答案,但是它们似乎都没有相关性,我创建了两个组件page1和page2.并在module.ts中声明了一条路线

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


import { AppComponent } from './app.component';
import { Page1Component } from './page1/page1.component';
import { Page2Component } from './page2/page2.component';


@NgModule({
  declarations: [
    AppComponent,
    Page1Component,
    Page2Component
  ],
  imports: [
    BrowserModule,
    RouterModule.forRoot([
      {path:'page1', component:Page1Component},
      {path:'page2', component:Page2Component}
    ])
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)

我的page1 html如下所示

<p>
  page1 works!

<button (click)= 'OnbtnClick()'>Route to Page2</button>
</p>
Run Code Online (Sandbox Code Playgroud)

组件ts如下

import { Component, OnInit } from '@angular/core';
import { Router} from '@angular/router';

@Component({
  selector: 'app-page1',
  templateUrl: './page1.component.html',
  styleUrls: ['./page1.component.css']
})
export class Page1Component implements OnInit {

  constructor(private _router:Router) { }

  ngOnInit() {
  }

OnbtnClick()
{
let abc =this._router.navigate(['/page2'])

}
}
Run Code Online (Sandbox Code Playgroud)

但是点击按钮时,The Url正在改变,但视图保持不变,appcomponent.html如下所示.

<div style="text-align:center">
  <h1>
    Welcome to SuperHero!
  </h1>
</div>

<app-page1></app-page1>   
Run Code Online (Sandbox Code Playgroud)

请帮忙 !!

Dan*_*iel 14

AppComponent.html需要有<router-outlet></router-outlet>指令:

<div style="text-align:center">
  <h1>
    Welcome to SuperHero!
  </h1>
</div>

<-- The view is injected here -->
<router-outlet></router-outlet>
Run Code Online (Sandbox Code Playgroud)