angular6 监听url查询参数变化刷新页面
快照snapshot取到的参数是组件第一次渲染时候的参数,当我们在页面中需要根据不同的url查询参数显示不同的内容时,快照就不能满足我们的需要了,这时候就要用ActivatedRoute服务的queryParamMap参数,queryParamMap是一个Observable对象,每次路由变化,都会emit一个(params: ParamMap)对象,然后用params.get()方法来获取参数。
假设url查询参数:?id=123 这种
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, ParamMap } from '@angular/router';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
id:string;
constructor(private route: ActivatedRoute) {}
ngOnInit() {
this.route.queryParamMap.subscribe((params: ParamMap) => {
this.id = params.get('id');
});
}
}

浙公网安备 33010602011771号