javascript - 如何在 Angular2 rc5 中获取路由参数?

标签 javascript php jquery html angular

我使用 Angular2 RC5 通过路由器获取一个简单的参数。参数只是一个名称。在 app.routes.ts 中,我将路由参数设置为“directory/:ninja”。

app.routes.ts

import { Routes, RouterModule } from "@angular/router";
import { DirectoryComponent } from "./directory/directory.component";
import { HomeComponent } from "./home/home.component";

const APP_ROUTES: Routes = [

    { path: 'directory/:ninja', component: DirectoryComponent },
    { path: '', component: HomeComponent }

];

export const APP_ROUTES_PROVIDER = RouterModule.forRoot(APP_ROUTES);

directory.component.ts

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

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

  ninja: string;    

  constructor(public route: ActivatedRoute) { 

    this.ninja = route.snapshot.params['ninja'];

  }

  ngOnInit() {
  }

}

directory.component.html

{{ninja}}

每当我访问http://localhost:4200/directory/richard时,它将我重定向到 ROOT URL。理查德是忍者的名字。

它应该在directory.component.ts中显示忍者的名字

最佳答案

1) 导入

import {ActivatedRoute} from '@angular/router';

2) 构造函数

constructor(private route:ActivatedRoute,.......

3) 订阅

this.route.params.subscribe(params => {
  console.log('Param whatever: ', params['whatever']);
  this.whatever = params['whatever'];
});

关于javascript - 如何在 Angular2 rc5 中获取路由参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40219966/

相关文章:

php - 是否有推荐的方法来处理保存数据以响应没有 onunload 事件的站点内导航?

javascript - 单独计算每个列表的列表项数并追加

javascript - Bootstrap 模态仅在刷新页面后有效

javascript - 使用 Ajax 和经典 ASP 查询数据库

php - 从 PHP 变量中过滤特定标签内容?

php - 在 DOMPDF 中打印边距

jquery - Gulp 不注入(inject) jquery ui 主题 css

javascript - 悬停标题以显示文本

javascript - 如何从 node.js 服务器获取数据到 Electron 应用程序?

javascript - 如何将编码字符串作为参数发送到 Angular 中的url字符串并在新选项卡中打开