- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我试图在我的 Angular 5 应用程序中获取 URL 参数,我找到了两种方法:
1) 使用paramMap
ngOnInit() {
this.hero$ = this.route.paramMap
.switchMap((params: ParamMap) =>
this.service.getHero(params.get('id')));
}
2) 使用参数
ngOnInit() {
this.sub = this.route.params.subscribe(params => {
this.id = +params['id'];
});
}
有区别吗?哪一种是最佳做法?
最佳答案
以下答案不再正确,Angular team says :
There are no current plans to remove
params
orqueryParams
and there's no benefit to advising against their use.
根据文档:
Two older properties are still available. They are less capable than their replacements, discouraged, and may be deprecated in a future Angular version.
params — An Observable that contains the required and optional parameters specific to the route. Use paramMap instead.
简单高效!
关于Angular 4/5 - 路线 paramMap 与 params,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47809357/
英雄细节.component.ts import { Component, Input, OnInit } from '@angular/core'; import 'rxjs/add/operato
我有一个代表列表中项目的组件,为了得到这个项目,我使用 this.route.snapshot.paramMap.get('id') .我如何 mock 这个? 我试过了 providers: [
export class HeroDetailComponent { heroes; constructor(private route: ActivatedRoute, privat
我正在使用 RxJs 6 运行 Angular 6。 我正在尝试从 paramMap 中获取值并将其分配给属性。路线如下所示: { path: 'post/:postName', co
paramMap 和 queryParamMap 有什么不同? Angular 网站说paramMap - 一个 Observable,包含特定于路由的必需和可选参数的映射。该 map 支持从同一参数
在我的组件的 ngOnInit 方法中,以下行产生错误。 this.products$ = this.route.paramMap.switchMap((params: ParamMap) =>
Angular 4 使用 get 和 getAll 方法添加了对 paramMap 的支持: 我能理解这段产生“id”值的代码 route.paramMap.subscribe( param
我正在使用这个,来自 here : constructor(private heroService: HeroService, private activatedRoute: Activate
在我们的 Angular 4 App我们有带有契约(Contract)列表的下拉列表。 一旦用户选择合约,我们就会触发 router.navigate , 使用选定的 contractId 更改 ur
我想从路由参数中获取 id,但它返回 null 作为值。 应用程序组件.ts: import { Component, OnInit } from '@angular/core'; import {
我试图在我的 Angular 5 应用程序中获取 URL 参数,我找到了两种方法: 1) 使用paramMap ngOnInit() { this.hero$ = this.rou
我在使用 Angular 2/4 和获取特定路线的参数时遇到问题。我这样做了一百次,从来没有遇到过这样的问题,正如您从我在路线上调用 paramMap 的代码中看到的那样,期望它只运行一次,但不知何故
我是 Angular 4 的新手,正在尝试通过单元测试测试 Angular 4 功能 router.paramMap 之一,以休闲方式读取路由参数并在我的应用程序中按预期工作。 constructor
我是一名优秀的程序员,十分优秀!