2017-12-04 18 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サーバーを再起動してください。私はバンドルプロセスがエクスポートされたインターフェイスをファイルに収めていない場合、それらのインターフェイスを選択できないという問題にぶつかりました。デベロッパーサーバーを再起動すると修正されているようです – LLai

+0

通常のJSに移行すると、エクスポートされたTSの「インターフェース」が消えてしまうように見えるので、コーディングの際にはガイドとして役立ちます。ネストされたクラスを動作させることはできませんでした - 私はそれがサポートされているとは思わない。実行時に特定の型のオブジェクトをインスタンス化する必要がある場合や、別のファイル/オブジェクトでオブジェクトを使用する必要がある場合は、クラスを使用します。 – mc01

+1

これらはインターフェイスであり、クラスではありません。この質問には、それらの使用方法に関する情報は含まれていません。 – estus

答えて

0

感謝のコメントで:しかし、あなたはTopLevelJsonElementは、現在、私がエラーを取得していますSubItems

のリストとして含有どのように見ます。私はangular-cliを使用しており、ローカルホスト(ng serve)を再起動しなければなりませんでした。

また、同様のバージョンにインターフェイスをボイルすることができたので、2つのインターフェイスは必要ありませんでした。それが2人と一緒に働いたかどうかは分かりません。もっと時間があるときに試す必要があるもの。

export interface JsonElement { 
    item: string; 
    item2: JsonElement []; 
} 
関連する問題