export class HeroComponent implements OnInit {
hero1:
hero2:
hero3:
hero4:
...
hero999:
}
のようなコンポーネント内のいくつかのプロパティを宣言したい
内の動的プロパティを宣言?
export class HeroComponent implements OnInit {
hero1:
hero2:
hero3:
hero4:
...
hero999:
}
のようなコンポーネント内のいくつかのプロパティを宣言したい
内の動的プロパティを宣言?
export class HeroComponent implements OnInit {
heroes: any[] = [];
constructor() {
for(var i = 1; i < 1000; i++) {
this.heroes.push('hero'+i);
}
}
}
エラー'原因: '未定義のpush'プロパティを読み取ることができず、 'hero:hero [];'を 'hero: [] = []; 'エラーが発生しました:ヒーローが定義されていません。 ' – locnguyen
残念ですが、初期化' = [] 'を忘れました。あなたが何を配列に保存したいのか分かりません。私は 'Hero'のインスタンスが' class Hero {} 'のために存在し、インポートされる必要があると仮定します。それはあなたがこのエラーを取得しない場合。 –
は 'this.hero.push( 'hero' + i);'のようなものを探していました。 – locnguyen
より洗練されたプロパティの書き込み方法は、タイスクリプトインターフェイスを利用することです。
export class HeroComponent implements OnInit {
private options: Options
constructor() {
this.options = {
option1 : 'val1',
option3 : [1,2]
}
}
}
export interface Options {
option1: string,
option2?: boolean,
option3: number[]
}
あなたはすべての値を保持するために、単一の配列プロパティを使用することができます。 あなたは、インターフェイスで許可し、これに類似し、それを使用しているオプションを定義することができます。 –
例を挙げることはできますか? – locnguyen
また、すべてのプロパティを保持する新しいクラスを作成し、新しいインスタンスを初期化してそのクラスを使用することもできます –