【Angular】AngularのNgModelでのバインディングなどなど(基礎の基礎)

Angular初心者なので、まずは基礎から考えてみる。

まずは、基礎としてバインディングを整理


TypeScript ➡︎ HTML

TypeScriptからHTMLへのバインディングの場合


{{ }}

以下のように書けばtest変数の値をHTMLで表示できます

{{test}}

ngModel

HTMLにこのように「[]」でngModelを設定すれば、TypeScriptからHTMLへのバインドができるようになる。

[(ngModel)]="product.id"

productオブジェクトのidの値が設定されます。


違う例で見てみると

<input type="text" [(ngModel)]="product.name" placeholder="商品名">

という形でinputタグで修正できるようにする。
そうすると修正した際にproductの中身も変更される。

つまり双方向でのバインディングとなる


HTML ➡︎ TypeScript

逆に、このように「()」でイベントを書けばHTMLからTypeScriptのバインドができる。

(click)="save()"

この場合、クリックでsaveメソッドが呼び出されます。


*ngIf

*ngIf="product"

productにデータがある場合に実行できるようにする


*ngFor

*ngFor="let product of products"

productsのデータ数分ループする。
1行1行のデータはproductに入る。


class

[class.selected]="a === b"

aとbが同じだった場合にselectedというクラスを付与する