以下是 TypeScript 装饰器的基本用法和一些示例:
1. 类装饰器
类装饰器在类声明之前声明,用于修改类的行为。
function classDecorator(constructor: Function) {
console.log("Class Decorator");
}
@classDecorator
class ExampleClass {
// 类的定义
}
2. 方法装饰器
方法装饰器在方法声明之前声明,用于修改方法的行为。
function methodDecorator(target: any, key: string, descriptor: PropertyDescriptor) {
console.log("Method Decorator");
}
class ExampleClass {
@methodDecorator
exampleMethod() {
// 方法的定义
}
}
3. 属性装饰器
属性装饰器在属性声明之前声明,用于修改属性的行为。
function propertyDecorator(target: any, key: string) {
console.log("Property Decorator");
}
class ExampleClass {
@propertyDecorator
exampleProperty: string;
}
4. 参数装饰器
参数装饰器在参数声明之前声明,用于修改参数的行为。
function parameterDecorator(target: any, key: string, index: number) {
console.log("Parameter Decorator");
}
class ExampleClass {
exampleMethod(@parameterDecorator param1: string, @parameterDecorator param2: number) {
// 方法的定义
}
}
请注意,使用装饰器时需要在 tsconfig.json 中启用 experimentalDecorators 选项。
装饰器的使用需要谨慎,因为它们是一种强大但也复杂的工具。在实际项目中,可以使用装饰器来实现元编程,例如实现依赖注入、路由映射等功能。
转载请注明出处:http://www.zyzy.cn/article/detail/4711/TypeScript