現在、Angular 2.0 (リリース バージョン) で新しいプロジェクトを開始しており、いくつかのグローバル データ モデル/スキーマを定義したいと考えています。私が理解しているように、Angular 2 には次のような純粋なデータ クラスを処理するデフォルトの方法がありません。
export class TestModel {
id: number;
name: string;
randomAttribute: number;
author: string;
}
ベスト プラクティスに関する私の最初の質問は、Angular 2 で作業するときにそのようなクラスを定義する必要があるかどうかです。
私のアプリケーション全体のデザインとコンセプトには必要だと思いますが、ここで間違った考え方を適用しているかどうかはわかりません。
このデータ クラスは、複数のモジュール ( ngModule ) で必要になる場合があるため、2 番目の質問は、アプリのどこに配置すればよいですか? 現在、私は次の構造を持っています:
/app
/shared
shared.module.ts
test.model.ts
/module1
module1.module.ts
foo.component.ts
[...]
/module2
module2.module.ts
bar.component.ts
[...]
app.module.ts
[...]
私が最初に考えたのは、 を に含め、instruction.model.ts
をshared.module
インポートするすべてのモジュールにエクスポートすることshared.module
でした。モデルがディレクティブ、パイプ、またはモジュールではないため、うまくいかないようです。とにかくそれをエクスポートする方法はありますか?
test.model.ts
より簡単な解決策は、ファイルと、それを必要とするすべてのモジュールの他のすべての共有モデルを直接インポートすることです。しかし、これは扱いにくく、複数のモデルには不便です。
私が考えた 3 番目の解決策は、すべての共有データ モデルを別のフォルダーに配置し、それらのエクスポートを以下のような 1 つのファイルにまとめて、このファイルを必要とするすべてのモジュールにインポートすることでした。