คำสั่งคือวิธีที่ Angular จัดทำขึ้น操作DOM
คำสั่งแบ่งออกเป็น属性指令
และ结构指令
คำสั่งแอตทริบิวต์: แก้ไขรูปลักษณ์หรือพฤติกรรมขององค์ประกอบที่มีอยู่ ล้อมด้วย []
คำแนะนำเชิงโครงสร้าง: เพิ่มและลบโหนด DOM เพื่อแก้ไขเค้าโครง ใช้ *
เป็นคำนำหน้าคำสั่ง [บทช่วยสอนที่เกี่ยวข้องที่แนะนำ: "บทช่วยสอนเชิงมุม"]
1. คำสั่งในตัว
1.1 *ngIf
渲染
โหนด DOM หรือ移除
โหนด DOM ตามเงื่อนไข
<div *ngIf="data.length == 0">ไม่มีข้อมูลอีกแล้ว</div>
<div *ngIf="data.length > 0; จากนั้น dataList จะเป็นอย่างอื่น noData"></div> <ng-template #dataList>รายการหลักสูตร</ng-template> <ng-template #noData>ไม่มีข้อมูลเพิ่มเติม</ng-template>
ng-template
ถูกใช้เพื่อกำหนดเทมเพลต หลังจากใช้ ng-template
เพื่อกำหนดเทมเพลต คุณสามารถใช้คำสั่ง ng-container
และ templateOutlet
เพื่อใช้งานได้
<ng-เทมเพลต #กำลังโหลด> <button (click)="login()">เข้าสู่ระบบ</button> <button (click)="sigup()">sigup</button> </ng-แม่แบบ> <ng-คอนเทนเนอร์ *ngTemplateOutlet="กำลังโหลด"> </ng-container>
1.2 [hidden]
显示
โหนด DOM หรือ隐藏
โหนด DOM (แสดง) ตามเงื่อนไข
<div [hidden]="data.length == 0">รายการหลักสูตร</div> <div [hidden]="data.length > 0">ไม่มีข้อมูลอีกต่อไป</div>
1.3 *ngFor
การสำรวจข้อมูลเพื่อสร้าง
รายการอินเทอร์เฟซโครงสร้าง HTML { รหัส: หมายเลข ชื่อ: สตริง อายุ: หมายเลข - รายการ: รายการ[] = [ { id: 1 ชื่อ: "จางซาน" อายุ: 20 } { id: 2 ชื่อ: "李思" อายุ: 30 } ]
<li *ngFor=" ให้รายการของรายการ; ให้ i = ดัชนี; ให้ isEven = คู่; ให้ isOdd = คี่; ให้ isFirst = ก่อน; ให้ isLast = สุดท้าย; - - </li>
<li *ngFor="let item of list; trackBy: ระบุ"></li>
ระบุ(ดัชนี, รายการ){ ส่งคืน item.id; }
2.
ข้อกำหนดคำสั่งแบบกำหนดเอง: ตั้งค่าสีพื้นหลังเริ่มต้นสำหรับองค์ประกอบ สีพื้นหลังเมื่อเมาส์เคลื่อนเข้า และสีพื้นหลังเมื่อเมาส์เคลื่อนออก
<div [appHover]="{ bgColor: 'skyblue' }">สวัสดี Angular</div>
นำเข้า { AfterViewInit, Directive, ElementRef, HostListener, Input } จาก "@เชิงมุม/core" // รับตัวเลือกอินเทอร์เฟซประเภทพารามิเตอร์ { bgColor?: string - @คำสั่ง({ ตัวเลือก: "[appHover]" - คลาสส่งออก HoverDirective ใช้ AfterViewInit { //รับพารามิเตอร์ @Input("appHover") appHover: Options = {} // องค์ประกอบโหนด DOM ที่จะดำเนินการบน: HTMLElement // รับโหนด DOM เพื่อดำเนินการกับตัวสร้าง (private elementRef: ElementRef) { this.element = this.elementRef.nativeElement - // ตั้งค่าสีพื้นหลังขององค์ประกอบหลังจากการเสร็จสิ้นครั้งแรกของเทมเพลตส่วนประกอบ ngAfterViewInit() { this.element.style.BackgroundColor = this.appHover.bgColor ||. "สกายบลู" - // เพิ่มเหตุการณ์การเลื่อนเมาส์ไปที่องค์ประกอบ @HostListener("mouseenter") enter() { this.element.style.พื้นหลังสี = "สีชมพู" - //เพิ่มเหตุการณ์ mouse out สำหรับองค์ประกอบ @HostListener("mouseleave") leave() { this.element.style.พื้นหลังสี = "สีฟ้า" - }
บทบาทของไปป์ไลน์คือ格式化组件模板数据
รูป
แบบ
วัน
ที่
ไปป์
ไลน์ในตัว สกุล
เงิน รูปแบบสกุลเงิน ตัวพิมพ์ใหญ่ แปลงเป็นตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก แปลงเป็นตัวพิมพ์เล็ก json รูปแบบข้อมูล json{{ วันที่ | วันที่: "yyyy-MM-dd" }}
2.
ข้อกำหนดไปป์ไลน์ที่กำหนดเอง: สตริงที่ระบุต้องไม่เกิน ความยาวที่ระบุ
<!-- นี่คือ... --> {{'นี่คือการทดสอบ' |. สรุป: 3}}
// summary.pipe.ts นำเข้า { Pipe, PipeTransform } จาก '@ เชิงมุม/หลัก'; @ท่อ({ ชื่อ: 'สรุป' - คลาสส่งออก SummaryPipe ใช้ PipeTransform { แปลง (ค่า: สตริง, ขีด จำกัด ?: หมายเลข) { ถ้า (!value) ส่งกลับค่าว่าง; ให้ realLimit = (จำกัด) ? ขีดจำกัด : 50; return value.substr(0, realLimit) + '...'; - }
// app.module.ts นำเข้า { SummaryPipe } จาก './summary.pipe' @NgModule({ ประกาศ: [ สรุปPipe - -