Angularのドキュメントを見ていたところ、ngForがdeprecatedとの記載がありました:
https://angular.io/api/common/NgFor
そこで、次のソースのngFor
をngForOf
に変更したのですが、エラーがでます:
<div class="heroes"> <li *ngFor="let hero in heroes"><!-- ngForOfに変更するとエラー --> {{hero.name}} </li> </div>
stackoverflowを見たところ、どうやら、変更になるのはクラス名だけであり、
ディレクティブは引き続きngFor
であるとのことでした。ngFor
クラスを参照している場合は変更が必要ですが、上記サンプルのようにディレクティブだけを利用している場合はそのままだそうです(わかりにくいね)
ngFor
は最終的にngForOf
になっているところが興味深いです:
我々が書くソース:
<div *ngFor="let item of items"></div>
*のシンタックスシュガーをde-sugaring、解除後:
<template [ngFor]="let item of items"> <div></div> </template>
letのシンタックスシュガーをde-sugaring後:
<template ngFor let-item="$implicit" [ngForOf]="items"> <div>...</div> </template>