无法在Angular app

时间:2018-02-18 22:40:25

标签: angular

我是Angular的新手,我正在尝试了解如何在我的基本角应用中访问Urls中的id值,例如/ page / 34和/ page / 65。我创建了一个新的应用程序,还有一个组件" PageComponent"。这是我的代码:

//app.module.ts

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

import { AppComponent } from './app.component';
import { PageComponent } from './page/page.component';
import { RouterModule, Routes } from '@angular/router';

const appRoutes: Routes = [
  { path: 'page/:id', component: PageComponent }
];

@NgModule({
  declarations: [
    AppComponent,
    PageComponent
  ],
  imports: [
    BrowserModule,
    RouterModule.forRoot(
      appRoutes
    )
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

//page.component.ts

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

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

  constructor(
    private route: ActivatedRoute,
    private router: Router
  ) {}

  ngOnInit() {
    this.route.params.subscribe(params => {
      console.log(params);
    });
  }

}

我用" ng serve"来测试应用程序并打开http://localhost:4200/page/878之类的网页。但在控制台中,我看到的只是{}。即,似乎params数组是空的。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

确保在角度应用根组件中使用路由时在根组件中添加路由器插座(即app.component.ts

<router-outlet></router-outlet>