我是新来的有角度的人,我对此错误有疑问:
类型字符串不能分配给类型编号
这是我的文件的样子:
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,
我该如何解决?
答案 0 :(得分:1)
您正在尝试在Number类型中附加一个String值。也许您在引号之间使用数字,例如'1'
或"2"
,而TS会将其识别为字符串。
答案 1 :(得分:0)
好吧,错误说明了一切:
NovoFizickoLiceComponent::jmb
被声明为string
,但是FizickoLice::JMB
是number
。并且,当您在new FizickoLice
方法中创建addUser
时,会尝试使用不允许的字符串jmb
来初始化数字JMB
。
您应该将NovoFizickoLiceComponent::jmb
的类型更改为number
jmb: number = 0;
或在分配之前将字符串转换为数字
JMB: +(this.jmb)
答案 2 :(得分:0)
您的问题来自变量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;