ใน Angular 2 ขึ้นไป“ ทุกอย่างเป็นองค์ประกอบ” ส่วนประกอบเป็นวิธีหลักที่เราสร้างและระบุองค์ประกอบและตรรกะบนหน้าผ่านทั้งองค์ประกอบที่กำหนดเองและคุณลักษณะที่เพิ่มฟังก์ชันการทำงานให้กับองค์ประกอบที่มีอยู่ของเรา
http://learnangular2.com/components/
แต่มีคำสั่งอะไรใน Angular2 +?
แอตทริบิวต์คำสั่งแนบพฤติกรรมกับองค์ประกอบ
มีคำสั่งสามประเภทในเชิงมุม:
- ส่วนประกอบ - คำสั่งพร้อมด้วยแม่แบบ
- คำสั่งโครงสร้าง - เปลี่ยนเค้าโครง DOM โดยการเพิ่มและลบองค์ประกอบ DOM
- คุณสมบัติของคำสั่ง - เปลี่ยนรูปลักษณ์หรือพฤติกรรมขององค์ประกอบองค์ประกอบหรือคำสั่งอื่น
https://angular.io/docs/ts/latest/guide/attribute-directives.html
ดังนั้นสิ่งที่เกิดขึ้นใน Angular2 ขึ้นไปคือDirectivesคือคุณลักษณะที่เพิ่มฟังก์ชันการทำงานให้กับองค์ประกอบและส่วนประกอบส่วนประกอบ
ดูตัวอย่างด้านล่างจาก Angular.io:
import { Directive, ElementRef, Input } from '@angular/core';
@Directive({ selector: '[myHighlight]' })
export class HighlightDirective {
constructor(el: ElementRef) {
el.nativeElement.style.backgroundColor = 'yellow';
}
}
ดังนั้นมันจะขยายองค์ประกอบและองค์ประกอบ HTML ของคุณด้วยการเพิ่มพื้นหลังสีเหลืองและคุณสามารถใช้งานได้ดังต่อไปนี้:
<p myHighlight>Highlight me!</p>
แต่ส่วนประกอบต่างๆจะสร้างองค์ประกอบที่สมบูรณ์พร้อมฟังก์ชั่นทั้งหมดดังนี้:
import { Component } from '@angular/core';
@Component({
selector: 'my-component',
template: `
<div>Hello my name is {{name}}.
<button (click)="sayMyName()">Say my name</button>
</div>
`
})
export class MyComponent {
name: string;
constructor() {
this.name = 'Alireza'
}
sayMyName() {
console.log('My name is', this.name)
}
}
และคุณสามารถใช้มันได้ด้านล่าง:
<my-component></my-component>
เมื่อเราใช้แท็กใน HTML ส่วนประกอบนี้จะถูกสร้างขึ้นและตัวสร้างจะถูกเรียกและแสดงผล
@Component
มัณฑนากรที่เป็นจริงเป็น@Directive
มัณฑนากรที่มีคุณสมบัติขยายแม่แบบที่มุ่งเน้น - แหล่งที่มา