私のAngular/Typescript2.2プロジェクトでは、開発のために、コンポーネントのテストデータとして*.json
ファイルを随時インポートします。モジュールとして.json
ファイルをインポートできるようにするには 、私はタイプany
でフィールドにこれらのファイルの内容を割り当てることができますtypings.d.ts
もちろん角度/ Typescript - モジュール定義のためにインポートされた '* .json'ファイルを作成できません
declare module '*.json' {
const value: any;
export default value;
}
に以下を追加しましたが、私はフィールドにそれらを割り当てます代わりに私のインターフェイスの1つのタイプで。モジュール定義の値をすべてのタイプに開いたままにしておきたいことに注意してください。私は1つのインターフェイスにハードコードしたくありません。
import {ProcessMilestone} from '../../../domain';
import * as milestones from './test.json';
export class MilestoneSearchComponent implements OnInit {
data: ProcessMilestone[];
ngOnInit(): void {
this.data = <ProcessMilestone[]> milestones;
}
}
これは私に次のエラーを与える:
Type 'typeof '*.json'' cannot be converted to type 'ProcessMilestone[]>'. Property 'includes' is missing in type 'typeof '*.json''.
それが原因「* .json」の現在のモジュールの定義により明らかだが、キャストはできません。これが可能になるようにこれを微調整することは可能ですか?私は可能性については考えていない。
最小労力のソリューションが実行可能です。そうでない場合は、代わりにバックエンドからデータを取得します。
魅力のように機能し、実際にはごくわずかです!ダブルタイプアサーションを試みたことはありません。ありがとう! –