ในเอกสารเชิงมุม 2 * และเทมเพลตเราทราบว่า * ngIf, * ngSwitch, * ngFor สามารถขยายเป็นแท็ก ng-template ได้ คำถามของฉันคือ:
ฉันคิดว่าการแปลngIf
หรือngFor
ไม่มี*
ก็สามารถแปลและขยายเป็นแท็กเทมเพลตได้ด้วยเครื่องมือเชิงมุม
รหัสต่อไปนี้
<hero-detail *ngIf="currentHero" [hero]="currentHero"></hero-detail>
ก็จะเหมือนกับ
<ng-template [ngIf]="currentHero">
<hero-detail [hero]="currentHero"></hero-detail>
</ng-template>
แล้วทำไมต้องกังวลกับการออกแบบเครื่องหมายดอกจันสัญลักษณ์แปลก ๆ ( *
) ในเชิงมุม 2?
<template>
แท็กเนื่องจาก*
ไวยากรณ์ของคำนำหน้าอนุญาตให้เราข้ามแท็กเหล่านั้นและมุ่งเน้นโดยตรงไปที่องค์ประกอบ HTML ที่เรารวมไว้ยกเว้นหรือทำซ้ำ