Angular 从5中的URL获取数据

Angular 从5中的URL获取数据,angular,routing,angular-routing,Angular,Routing,Angular Routing,我在url栏中输入一个链接 http://localhost:4200/reset-password-action/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9/5 我想从url获取eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9和5 我的app routing.module.ts文件中有它 const routes: Routes = [ { path: 'reset-password-action/:token/:user_id',

我在url栏中输入一个链接

http://localhost:4200/reset-password-action/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9/5
我想从url获取eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ95

我的app routing.module.ts文件中有它

const routes: Routes = [
  { path: 'reset-password-action/:token/:user_id', component: NewPasswordComponent }
];

我需要一个简单的语法来获取这些数据。

您可以使用ActivatedRoute获得类似这样的查询参数。下面是一个例子:

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

@Component({...})
export class MyComponent implements OnInit {
 queryParamsStatus ='';

  constructor(private activatedRoute: ActivatedRoute) {}

  ngOnInit() {
    // subscribe to router event
    this.activatedRoute.params.subscribe((params: Params) => {
        this.queryParamsStatus= params['status'];
        console.log(queryParamsStatus );

      });
    let tempRows = this.rows.filter(s => s.staus === this.queryParamsStatus);
  }

}
您可以通过简单地将状态替换为token或userId来获取token/userId


希望这能起作用。

您需要先导入激活的路由,然后使用此路由

import {Router, ActivatedRoute} from '@angular/router';
class ABC {
    id: any;
    token: any;
    constructor(private activatedRoute: ActivatedRoute) {}
    ngOnInit() {
        this.activatedRoute.params.subscribe(params => {
            if (typeof params['id'] !== 'undefined') {
                this.id = params['id'];
            } else {
                this.id = '';
            }
            if (typeof params['token'] !== 'undefined') {
                this.id = params['token'];
            } else {
                this.id = '';
            }
        });
    }
}

首先,你想从哪里获得这些数据? 如果您想将它放在同一个组件中,那么我认为它是NewPasswordComponent

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

@Component({...})
export class NewPasswordComponent implements OnInit {
  constructor(private route: ActivatedRoute) {}

  ngOnInit() {
    console.log(this.route.snapshot.params.token);
    console.log(this.route.snapshot.params.user_id);
  } 
}
或者你也可以得到如下结果:

 constructor(private route: ActivatedRoute) {}

    ngOnInit() {
      this.route.params.subscribe(event => {
      this.token = event.token;
      this.user_id = event.user_id;
     });
    }

您想从何处获取此数据?目前,在当前组件NewPasswordComponent中,您是否阅读了文档?