Angular 4 路由不工作
Angular 4 routing not working
我已经检查了关于此的堆栈溢出答案,但其中 none 似乎是相关的,我创建了两个组件 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 { }
而我的 page1 html 如下
<p>
page1 works!
<button (click)= 'OnbtnClick()'>Route to Page2</button>
</p>
组件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'])
}
}
但是点击按钮后,Url发生了变化,但是视图保持不变,appcomponent.html如下。
<div style="text-align:center">
<h1>
Welcome to SuperHero!
</h1>
</div>
<app-page1></app-page1>
请帮忙!!
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>
我已经检查了关于此的堆栈溢出答案,但其中 none 似乎是相关的,我创建了两个组件 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 { }
而我的 page1 html 如下
<p>
page1 works!
<button (click)= 'OnbtnClick()'>Route to Page2</button>
</p>
组件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'])
}
}
但是点击按钮后,Url发生了变化,但是视图保持不变,appcomponent.html如下。
<div style="text-align:center">
<h1>
Welcome to SuperHero!
</h1>
</div>
<app-page1></app-page1>
请帮忙!!
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>