कोणीय 2 और इसके बाद के संस्करण में, "सब कुछ एक घटक है।" घटक हमारे द्वारा बनाए गए मुख्य तत्व हैं और पृष्ठ पर तत्वों और तर्क को निर्दिष्ट करते हैं, दोनों कस्टम तत्वों और विशेषताओं के माध्यम से जो हमारे मौजूदा घटकों में कार्यक्षमता जोड़ते हैं।
http://learnangular2.com/components/
लेकिन फिर Angular2 + में क्या निर्देश हैं?
तत्वों को व्यवहार में संलग्न करने के निर्देश देते हैं।
कोणीय में तीन प्रकार के निर्देश हैं:
- घटक- एक टेम्पलेट के साथ निर्देशन।
- संरचनात्मक निर्देश- DOM तत्वों को जोड़कर और हटाकर DOM लेआउट को बदलते हैं।
- निर्देश दें- किसी तत्व, घटक या किसी अन्य निर्देश के स्वरूप या व्यवहार को बदलें।
https://angular.io/docs/ts/latest/guide/attribute-directives.html
तो Angular2 और इसके बाद के संस्करण में क्या हो रहा है, निर्देश ऐसे गुण हैं जो तत्वों और घटकों में कार्यशीलता जोड़ते हैं ।
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
टेम्पलेट-उन्मुख सुविधाओं के साथ एक डेकोरेटर है - स्रोत ।