角型モジュールにTypeScriptクラスをインポートして、そのモジュール内のすべてのコンポーネントまたはサービスがこれらの定義を継承するような推奨される方法はありますか?TypeScriptクラスを中心にAngular Moduleにインポートするにはどうすればよいですか?
コアの問題はです。なぜ、モジュールにインポートされたクラスは、そのモジュール内の他のコンポーネントに自動的にインポートされませんか?
私はこのようなモジュールにクラスをインポートしようとしている:
registration.model.ts:
export class Event {
id: string;
name: string;
}
registration.module.ts:
import { Event } from './registration.model';
を私も持っていますそれをモジュールの宣言に加えました。(何もしなかったとすぐに、宣言配列からこれを削除しました):
declarations: [
Event,
...
]
registration.service.ts:
getEvents(): Observable<Event[]> {
return this.http.get(`api/events`)
.map(response => response.json());
}
はこのエラーを生成し、アプリがコンパイルに失敗します。 Cで
ERROR:/コード/登録/ srcに/アプリ/登録/registration.service.ts (26,29):「イベント」という名前を見つけることができません。
私が直接registration.service.tsへのインポートを追加した場合、エラーが消えると、すべてが正常にコンパイルされます。
import { Event } from './registration.model';
私は、相対パスがモジュールに正しいことを確認しました。私はモジュールの絶対パスに変更することができますし、サービスで同じエラーが発生します。
フォローアップ編集 アドリアンの反応のおかげで、私はこれをもっとよく理解しています。私はまた、次のように活字体モジュールから、一度に複数のクラスをインポートすることができていることが分かった:
import * as Registration from 'app/models/registration.model';
詳細な対応をありがとうございます。 – Graham