あなたは、たとえば、デコレータがどのように機能するかにコンパイルされたコード内の洞察力を見ることが
コンパイルされたコードは、この中
ComponentClass = __decorate([
core_1.Component({
moduleId: module.id,
selector: 'component-selector',
templateUrl: 'component.html',
styleUrls: ['component.css'],
providers: [component_service_1.ComponentService]
}),
__metadata('design:paramtypes', [component_service_1.ComponentService])
], ComponentClass);
角度コアが見えるそれがReflect.js
を使用して、以下のようになりますコンポーネントに関するメタデータ情報を取得します。
は
MyCustomDecorator
それを使用する方法
import "reflect-metadata";
interface ICustomDecoratorMeta{
var1: string
}
export var MyCustomDecorator =
(metadata: <ICustomDecoratorMeta>) => {
return (target) => {
Reflect.defineMetadata("MyCustomDecorator", metadata, target);
}
}
、このことができます
@MyCustomDecorator({
var1 : "Hello"
})
export class MyClass(){}
// To retrieve metadata you can use below,
var metadata = Reflect.getMetadata('MyCustomDecorator', MyClass);
希望、あなたは以下試すことができ、独自のデコレータを作成するには!