2017-07-07 47 views
3
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」

回答

0

在你switchmap paramMap類型是錯誤的。

應該

.switchMap((params : ParamMap) => 
+0

正確的,但我得到這個錯誤this.route.paramMap – praveen

+0

你有沒有改變,仍然出現錯誤? – Skeptor

+0

是的..我確實改變了,並得到相同的錯誤 – praveen

0

也不太清楚這是否會幫助,但你可能要嘗試以下操作:

  1. 刪除node_modules文件夾中的項目
  2. 在你的package.json文件,請檢查您的@ angular/router依賴項是否爲角度4版本(即4.0.0及更高版本)
  3. 請確保您的打字稿版本在「依賴關係」中至少爲2.1.6和你的package.json中的「devDependencies」(一些版本的打字稿和打破rxjs。我不太確定哪個版本和最新的版本。爲安全起見,你可能只想更新rxjs到最新版本,以及)
  4. 終於NPM安裝

希望這對你的作品。我有同樣的問題,如果我從來沒有記錯,我做了上述和ParamMap之後存在。

0

import 'rxjs/add/operator/switchMap';

是進口添加到您的組件......

0

確保您從@

import { Router, ActivatedRoute, ParamMap } from '@angular/router'; 
0

ParamMap已在4.0.0-被引入角/路由器進口ParamMap rc.6版本。確保你至少有Angular 4版本。

相關問題