पाठ 24 / 26
डेकोरेटर्स एक नज़र में
ऐसे फ़ंक्शन जो क्लासों में मेटाडेटा या व्यवहार जोड़ते हैं — Angular की रीढ़।
डेकोरेटर क्या है?
डेकोरेटर एक विशेष फ़ंक्शन है, @ से शुरू होने वाला, जो किसी क्लास या सदस्य को व्यवहार या मेटाडेटा जोड़ने के लिए लपेटता है, बिना उसके स्रोत को बदले। Angular इन्हें बहुत उपयोग करता है — @Component, @Injectable, @Input।
एक सरल क्लास डेकोरेटर
डेकोरेटर बस एक फ़ंक्शन है जो क्लास को प्राप्त करता है और उसे देख या बदल सकता है।
function Logged(constructor: Function) {
console.log(`Class defined: ${constructor.name}`);
}
@Logged
class Greeter {
greet() {
return "Hello!";
}
}
// Output: Class defined: Greetertsconfig में सक्षम करें
लीगेसी डेकोरेटर्स के लिए tsconfig.json में "experimentalDecorators": true चाहिए — Angular CLI प्रोजेक्ट यह अपने-आप सेट कर देते हैं।