2016-12-20 10 views
0

Как я могу set объектов в классе?ECMAScript 2015/SetScript 2 с объектами

interface IAddress { 
    streetAddress: string; 
    postCode: string; 
    city: string; 
} 

class C { 
    private _data = <any> {}; 

    public get postAddress(): IAddress { 
     return this._data.postAddress; 
    } 

    /* 
    public set postAddress() { 

    } 
    */ 
} 

let a = new C(); 

Теперь, когда я get этот адрес у меня есть:

let address = a.postAddress; 

/* 
{ 
    streetAddress: ""; 
    postCode: ""; 
    city: ""; 
} 
*/ 

Тогда я хочу установить некоторые свойства через сеттер (которые я не могу, не знаю, как):

a.postAddress.city = 'NEW YORK'; 

Но ничего не происходит, так как a.postAddress сначала получает объект, а C class 'setter никогда не будет вызван. Как достичь этого?

ответ

0

Вам нужно сделать postAddress геттер возвращает объект, который реализует интерфейс IAddress и имеет сеттеры для streetAddress, postCode и city.

 Смежные вопросы

  • Нет связанных вопросов^_^