Если я попытаюсь установить атрибут в классе TypeScript с помощью установщика, он добавит атрибут вместо изменения существующего. Класс выглядит как
export class User extends Model
{
private username: string;
private firstname: string;
private lastname: string;
// ...
public get Username(): string
{
return this.username;
}
public set Username(value: string)
{
this.username = value;
}
}
Если я установлю имя с помощью user.Firstname = 'Tobi';
, то при помощи console.log(user)
я могу видеть, что объект теперь содержит атрибут Firstname с заглавной первой буквой.
Угловая версия: 7.3.8
TypeScript: 3.2.4
NodeJS: 11.11.0
Браузеры: Firefox 66.0.3 и Chrome 73.0.3683.103
ОС: macOS 10.14.4 (18E226)
// Creating a new object
this.userService.create(this.user).subscribe(
(user: User) =>
{
console.log(user);
this.user = user;
}
);
// Trying to update the object
tstUpdateUser()
{
this.user.Firstname = 'Tobi2';
console.log(this.user);
this.userService.update(this.user, this.user.Id).subscribe((user: User) =>
{
this.user = user;
console.log('update', this.user);
});
}
//Output of Dev console in Firefox
{…}
Firstname: "Tobi2"
firstname: "Tobi"
id: 37
...
Если я правильно понял методы получения и установки TypeScript, свойство .Firstname должно устанавливать частный атрибут firstname вместо добавления атрибута Firstname.