我试图在离子框架中创建一些基本功能。
我已在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
) {}
}
我希望传递一个数字,并且该函数会将其作为字符串。
答案 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'));
});
}