После импорта моего завершенного проекта в другой проект я внезапно получаю эту ошибку:
ERROR in src/app/avior/users/users.component.html:43:79 - error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'.
43 <form [formGroup]="userForm" class="form-signin" (ngSubmit)="onSubmit(selectedUser._id,this.userForm.value)">
Моя функция onSubmit выглядит следующим образом:
onSubmit(id: string, data: User) {
this.aviorBackend.putUser(id, data)
.subscribe(
res => {
console.log('Benutzer erneuert.');
console.log(id);
console.log(data);
console.log(res);
this.selectedUser = res;
},
error => {
console.log('Error while deleting user: ', error);
}
);
}
Мой оригинальный код в старом проекте полностью функциональный, как это go не так? Поправьте меня, если я ошибаюсь, но this.userForm.value представляется числом, и его нужно преобразовать в строку?
ОБНОВЛЕНИЕ После следования совету я все еще получаю эту ошибку:
ERROR in src/app/avior/users/users.component.html:59:83 - error TS2345: Argument of
type 'number' is not assignable to parameter of type 'string'.
59 <button class="btn btn-danger btn-block" type="submit" (click)="deleteUserBtn(selectedUser._id)">Löschen</button>
~~~~~~~~~~~~~~~~
ОБНОВЛЕНИЕ 2 Интерфейс пользователя:
import { Role } from './role';
// was class and not interface!
export interface User {
_id: number;
mandator?: number;
loginId: string;
lastname: string;
firstname: string;
password: string;
eMail: string;
group?: string;
role?: Role;
active?: boolean;
token?: string;
}