2017-12-04 2 views
1

일부 모듈 및 네임 스페이스에 대한 게시물을 보았습니다. 그러나 이와 같은 작업을 온라인에서 수행하지 못했습니다 (인터페이스 또는 클래스 여야하는지, 나는 그것이 중요하다고 확신하지 않는다). 반환 된 일부 JSON 데이터에 바인딩하는 데 사용하고 있습니다.Typescript - 클래스로 구성된 클래스 (중첩 된 클래스?)

topLevelJsonElement.ts :

export interface TopLevelJsonElement { 
    item: string; 
    item2: SubItems[]; 
} 

subItems.ts

export interface SubItems { 
    item: number; 
    item2: any; 
} 

내가 원하는대로 아마 내가 많은 수준을 아래로 작성하거나 중첩 할 수

? 코멘트에 @LLai에 topLevelJsonElement"' has no exported member 'TopLevelJsonElement '.

+1

cli를 사용하는 경우 dev_server를 다시 시작하십시오. 번들링 프로세스가 내 보낸 인터페이스를 파일에서 직접 가져 오지 못하는 문제가 발생했습니다. dev 서버를 다시 시작하면 문제가 해결됩니다. – LLai

+0

일반 JS로 이동하면 내 보낸 TS "인터페이스"가 사라지게되므로 코딩하는 동안 주로 가이드로서 유용합니다. 중첩 된 클래스를 작동시킬 수 없습니다. 지원되지 않는다고 생각합니다. 런타임에 특정 유형의 객체를 인스턴스화해야하거나 다른 파일/객체에서 객체를 사용하려면 클래스를 사용하십시오. – mc01

+1

클래스는 인터페이스가 아니라 클래스입니다. 이 질문에는 그들이 어떻게 사용되는지에 대한 정보가 포함되어 있지 않습니다. – estus

답변

0

감사 :하지만 당신은 TopLevelJsonElement

SubItems은 현재 내가 오류를 받고 있어요 목록으로 CONTAINS 방법을 볼 않습니다. 나는 각형 cli를 사용하고 있으며 로컬 호스트 (ng serve)를 다시 시작해야했습니다.

또한 인터페이스를 비슷한 버전으로 낮추어서 두 개의 인터페이스가 필요하지 않았습니다. 그것은 두 사람과 함께했을 확실하지 않습니다. 더 많은 시간을 할애해야 겠어.

export interface JsonElement { 
    item: string; 
    item2: JsonElement []; 
}