에서 작동하지 않는 나는아동 모델 getter 및 setter가 각 2/4
export class Parent
{
name: string;
containers: Container[];
}
export class Container
{
desc: string;
sets: Sets[];
}
export class Sets
{
private _data?: any[];
private _dataSet?: any[];
get data()
{
if (this.dataSet && this.dataSet.length > 0)
{
return this._dataSet[0].data;
}
return this._data;
}
set data(data: any[])
{
this._data = data;
}
get dataSet()
{
return this._dataSet;
}
set dataSet(dataSet: any[])
{
this._dataSet = dataSet;
}
}
다음과 같이 세 가지 모델 클래스를 정의 상황이 문제는 다음 getter
및 setter
방법 Set
의 클래스 같으면를 ' 내가 new Set()
을 명시 적으로 수행하지 않으면 트리거되지 않습니다 (new Set()
이 정말로 필요한지는 알 수 없습니다). 예를 들어
:
"name": "vik",
"containers": [
{
"desc": "something",
"sets": [
{
"dataSet": [
{
"data":[
{
// Object
}]
}]
}]
}]
내가 할 경우 :
let response:Parent = responseObj;
console.log(response.containers[0].sets[0].data)
는 데이터 집합 value
를 반환해야하지만 대신이 undefined
를 반환합니다.
하지만 난 할 경우 :
let response:Parent = responseObj;
console.log(new Sets(response.containers[0].sets[0]).data)
나에게 올바른 값을 반환합니다.
뭔가 빠졌거나 작동하도록 코드를 향상시킬 수 있습니까?
하지 않음 매우 생각한다 nested object of class transformer
다음
:
그래서 난 그냥 리팩토링 한 방법을 제안 여러 중첩을 위해 할 수있는 일은 많습니다. [이 답변] (https://stackoverflow.com/a/43977474/1838048)을 참조하십시오. – Oliver
http 응답과 같이 외부에서 개체가 왔습니까? – Vitalii
예, http 응답 –