0
0

Angular で ngFor を使用して一覧表示してみました。

Posted at

新しいことをすると、いちいちはまります。本当にちょっとしたことなのですが、融通を利いてくれません。融通を利き出しても恐いのですが、もうすぐそういう時代がやって来たりするのでしょうか。
あれっ、プログラムを勉強することに意味があるのかと、少し疑問が沸いてしまいました。なんだろう、変な気持ち。

深く考えずに先に進みます。

1.プログラムを更新します。

1ー1.main.component.ts のテンプレートのタグを更新します。
import { Component } from '@angular/core';
+ import { CommonModule } from '@angular/common';
import { RouterOutlet } from '@angular/router';
import { HeaderComponent } from './header/header.component';
import { MainComponent } from './main/main.component';
import { Encyclopedia } from './encyclopedia';

@Component({
  selector: 'app-root',
  standalone: true,
-  imports: [RouterOutlet, HeaderComponent, MainComponent],
+   imports: [RouterOutlet, HeaderComponent, MainComponent, CommonModule],
  template: `
  <main>
    <app-header></app-header>
-    <app-main [encyclopedia]="encyclopedia"></app-main>
+    <app-main
+      *ngFor="let encyclopedia of encyclopediaList"
+      [encyclopedia]="encyclopedia">
+    </app-main>
  </main>
`
})
export class AppComponent {
-  encyclopedia: Encyclopedia = {
-    id: 999,
-    name: 'Test Name',
-  };
+  encyclopediaList: Encyclopedia[] = [
+    {
+      id: 1,
+      name: 'Test Name 001'
+    },
+    {
+      id: 2,
+      name: 'Test Name 002'
+    }
+  ];
}

(アウトプット)
1-1.PNG
※※※ 学習したこと ※※※
・ngFor を使用するには、CommonModule のインポートが必要です。
2行目:import { CommonModule } from '@angular/common';
12行目:imports: [RouterOutlet, HeaderComponent, MainComponent, CommonModule],

・データを配列にする場合は、[] で囲む必要があります。
29行目:encyclopediaList: Encyclopedia[] = [
38行目:];

今日は、配列で {} が [] に変えるところを見逃し、苦労しました。
なんとか無事に思った通りになりました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0