作者:孔红MJ | 来源:互联网 | 2024-10-22 14:42
reflect-metadata是一个库,这个库可以帮助我们在类上面或者类的属性上面去存储一些数据,并且方便的数据获取安装这个库npminstallreflect-metadata
reflect-metadata 是一个库,这个库可以帮助我们在类上面或者类的属性上面去存储一些数据,并且方便的数据获取
安装这个库 npm install reflect-metadata --save
import 'reflect-metadata';
const user = {
name: 'dell'
}
// 一、最基础的存储获取值的方式:存储一个 data:test 的值到 user
Reflect.defineMetadata('data', 'test', user);
console.log(user); // 这样存储的源数据这样打印是看不到的
console.log(Reflect.getMetadata('data', user)); // 从 user 这个对象里面去拿 data 这个数据,打印出 test
// 二、存储类的键值对
@Reflect.metadata('data', 'test1') // 在类上面定义了一个 data:test 的值
class User{
name = '1111'
}
console.log(Reflect.getMetadata('data', User)); // 获取 User 下面属性 data 的值
// 三、存储类的属性方法里面的值
class User1{
@Reflect.metadata('data', 'test2')
getName() {}
}
console.log(Reflect.getMetadata('data', User1.prototype, 'getName'))