无法将字符串类型的参数分配给paramMap

时间:2019-03-24 16:17:42

标签: angular ionic-framework ionic4

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

我已在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
    ) {}
}

我希望传递一个数字,并且该函数会将其作为字符串。

2 个答案:

答案 0 :(得分:1)

在呼叫

时使用“ +”
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'));
    });
  }

答案 1 :(得分:0)

也许是这样的“兄弟”:)

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'));
    });
  }