得到错误,同时试图使用paramMap用于获取路由参数
问题描述:
export class HeroDetailComponent {
heroes;
constructor(private route: ActivatedRoute, private router: Router, private hs : HeroService){
}
ngOnInit(){
this.route.paramMap
.switchMap((params : ParamMap) =>
this.hs.getHeroes(params.get('id')))
.subscribe((heroes) => {
console.log("checking for heroes n subscribe",heroes);
this.heroes = heroes})
}
}
获得以下错误得到错误,同时试图使用paramMap用于获取路由参数
paramMap的类型不存在“ActivatedRoute”
答
在你switchmap
paramMap类型是错误的。
应该
.switchMap((params : ParamMap) =>
答
也不太清楚这是否会帮助,但你可能要尝试以下操作:
- 删除node_modules文件夹中的项目
- 在你的package.json文件,请检查您的@ angular/router依赖项是否为角度4版本(即4.0.0及更高版本)
- 请确保您的打字稿版本在“依赖关系”中至少为2.1.6和你的package.json中的“devDependencies”(一些版本的打字稿和打破rxjs。我不太确定哪个版本和最新的版本。为安全起见,你可能只想更新rxjs到最新版本,以及)
- 终于NPM安装
希望这对你的作品。我有同样的问题,如果我从来没有记错,我做了上述和ParamMap之后存在。
答
import 'rxjs/add/operator/switchMap';
是进口添加到您的组件......
答
确保您从@
import { Router, ActivatedRoute, ParamMap } from '@angular/router';
答
ParamMap已在4.0.0-被引入角/路由器进口ParamMap rc.6版本。确保你至少有Angular 4版本。
正确的,但我得到这个错误this.route.paramMap – praveen
你有没有改变,仍然出现错误? – Skeptor
是的..我确实改变了,并得到相同的错误 – praveen