2017-11-10 20 views
0

私はUser Propertiesのクラスを持っています。私はfirstNameとlastNameが更新されている場合、 'fullname'プロパティを自動入力しようとしています。しかし、これまでのところ、私のコードはコントローラ内で手動で更新されたときにのみそれを設定します。Typescript:getter/setterを使用してプロパティを自動入力

「フルネーム」を明示的に呼び出さずに自動更新する方法はありますか?

export class UserDTO { 
    id: number; 
    fullname: string; 
    firstName: string; 
    lastName: string; 

    private _fullname string; 
    get fullname(): string { 
     return this._fullname; 
    } 

    set fullname(value: string) { 
     this._fullname = this.firstName + (this.lastName ? ' ' + this.lastName : ''); 
    } } 

コントローラでの使用:

updatedUser.name = firstName + (lastName ? ' ' + lastName : ''); 

答えて

0

あなたはすべてが間違っているこれについてつもりです。 fullNameを設定する必要はありません。確かにローカル変数は必要ありません。

export class UserDTO { 
    id: number; 
    firstName: string; 
    lastName: string; 

    get fullname(): string { 
     return this.firstName + (this.lastName ? ' ' + this.lastName : ''); 
    } 
} 

フルネームを要求すると、常に最新の状態になり、設定することはできません。 firstNameまたはlastNameに設定して更新します。

関連する問題