2016-09-01 3 views
0

Используя ES6, у меня есть класс, в котором я определяю некоторые переменные и функцию, которая будет принимать объект и оценивать мои переменные значениями. Это повторяется, так можно ли каким-то образом использовать деструктивное осмысление для достижения этого?объект destructuring на классах

class BasicDataMgmt { 

    public id: number; 
    public name: string; 
    public email: string; 
    public phone: string; 
    public type: string; 

    fetchData(data) { 
    this.id = data.id; 
    this.name = data.name; 
    this.email = data.email; 
    this.phone = data.phone; 
    this.type = data.type; 
    } 

} 

ответ

1

Это может быть

fetchData(data) { 
    Object.assign(this, data); 
    } 

для unsanitized данных. Или

fetchData({ id, name, ... }) { 
    Object.assign(this, { id, name, ... }); 
    } 

для санитарных данных.

Использование Lodash _.pick полезно здесь для выполнения Object.assign(this, _.pick(data, ['id', 'name', ...])).