字符串类型的参数不可分配给 paramMap

Argument of type string is not assignable to paramMap

我尝试在离子框架中创建一些基本功能。

我在 model.ts 中将 ID 声明为一个数字,并创建了一个函数来使用 paramMap 访问该值它显示一个错误,即字符串不可分配给一个数字。

我正在使用 Ionic 4.0。

ngOnInit() {
    this.route.paramMap.subscribe(paramMap => {
      if (!paramMap.has('placeId')) {
        this.navCtrl.navigateBack('/places/tabs/discover');
        return;
      }
       this.place = this.placesService.getplace(paramMap.get('placeId'));
    });
  }

service.ts是我写getplace函数的地方:

getplace(id: number) {
    return {...this._places.find(
      p => p.id === id
    )};
  }

型号:

import { Time } from '@angular/common';
export class place {
    constructor(
        public id: number,
        public user_id: number,
        public title: string,
        public cooked_time: Date,
        public dispose_time: Date,
        public food_type: string,
        public description: string,
        public serve_quantity: number,
        public imageUrl: string,
        public lat: number,
        public long: number
    ) {}
}

我希望传递一个数字,而该函数将它作为一个字符串。

可能是这样的 "bro" :)

ngOnInit() {
    this.route.paramMap.subscribe(paramMap => {
      if (!paramMap.has('placeId')) {
        this.navCtrl.navigateBack('/places/tabs/discover');
        return;
      }
       this.place = this.placesService.getplace(<number>paramMap.get('placeId'));
    });
  }

在拨打

时使用“+”
this.placesService.getplace(+paramMap.get('placeId')) 

将字符串转换为数字

ngOnInit() {
    this.route.paramMap.subscribe(paramMap => {
      if (!paramMap.has('placeId')) {
        this.navCtrl.navigateBack('/places/tabs/discover');
        return;
      }
       this.place = this.placesService.getplace(+paramMap.get('placeId'));
    });
  }