如何解决类型字符串不能分配给类型编号
我是新来的有角度的人,我对此错误有疑问:
类型字符串不能分配给类型编号
这是我的文件的样子:
novo-fizicko-lice.component.ts
import { Component,OnInit } from '@angular/core';
import { FormControl } from '@angular/forms';
import { ApiService } from '../api.service';
import { FizickoLice } from '../klase/fizicko-lice';
@Component({
selector: 'app-novo-fizicko-lice',templateUrl: './novo-fizicko-lice.component.html',styleUrls: ['./novo-fizicko-lice.component.css']
})
export class NovoFizickoLiceComponent implements OnInit {
prezime: string = "";
ime: string = "";
imeOca: string = "";
jmb: string = "";
mjestoStanovanja: string = "";
napomena: string = "";
datum: Date;
obustavljenaIstraga: boolean;
upisanoFizickoLice: FizickoLice;
novoFizckoLiceForma = new FormControl();
constructor(private api: ApiService) { }
ngOnInit() {
}
public adduser() {
console.log("test clikc");
this.datum = new Date;
const novoFizickoLice: FizickoLice = {
Ime: this.ime,Prezime: this.prezime,ImeOca: this.imeOca,JMB: this.jmb,MjestoStanovanja: this.mjestoStanovanja,Napomena: this.napomena,DatumUnosenjaLica: this.datum,ObustavljenaIstraga: this.obustavljenaIstraga
};
this.api.AddNewUser(novoFizickoLice).subscribe(data => {
console.log(data);
this.upisanoFizickoLice = data;
});
}
}
fizicko-lice.ts
export interface FizickoLice {
Ime: string;
Prezime: string;
ImeOca: string;
JMB: number;
MjestoStanovanja: string;
DatumUnosenjaLica: Date | string;
Napomena: string;
ObustavljenaIstraga: boolean;
}
此文件novo-fizicko-lice出现错误。 component.this在线
JMB:this.jmb,
我该如何解决?
解决方法
您正在尝试在Number类型中附加一个String值。也许您在引号之间使用数字,例如'1'
或"2"
,而TS会将其识别为字符串。
好吧,错误说明了一切:
NovoFizickoLiceComponent::jmb
被声明为string
,但是FizickoLice::JMB
是number
。并且,当您在new FizickoLice
方法中创建addUser
时,会尝试使用不允许的字符串jmb
来初始化数字JMB
。
您应该将NovoFizickoLiceComponent::jmb
的类型更改为number
jmb: number = 0;
或在分配之前将字符串转换为数字
JMB: +(this.jmb)
,
您的问题来自变量jmb
。
在界面FizickoLice
中,您将JMB声明为数字。
在您的组件中,为它分配一个字符串。
const novoFizickoLice: FizickoLice = {
Ime: this.ime,Prezime: this.prezime,ImeOca: this.imeOca,JMB: this.jmb,<---- Here,this.jmb is a string.
MjestoStanovanja: this.mjestoStanovanja,Napomena: this.napomena,DatumUnosenjaLica: this.datum,ObustavljenaIstraga: this.obustavljenaIstraga
};
创建变量时只需更改类型。
jmb: number;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。