热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深入解析TypeScript中的ReflectMetadata库及其应用场景

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'))

 



推荐阅读
  • 【记录·前端篇1】vscode创建vue+ElementUI项目
    【记录·前端篇1】vscode创建vue+ElementUI项目 ... [详细]
  • 分享一下最近写的ReactNative的SSHSFTP组件,iOS端封装了NMSSH,Android端封装了JSch。支持SSH执行命令、实时Shell ... [详细]
  • vuex与模块化的示例分析
    这篇文章将为大家详细讲解有关vuex与模块化的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。示例教 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了MongoDB快速入门教程(4.1)相关的知识,希望对你有一定的参考价值。4 ... [详细]
  • Mybatis_04日志
    前几天临近期末考试,一直在准备考试,吐槽一下,这个学期的考试真是全背书,服了,背吐了。考完试到元旦又放肆了几天 ... [详细]
  • 什么是sequelize?sequelize是一个orm框架,什么是orm呢?即Object-RelationlMappingÿ ... [详细]
  • typescript编译报错不能用于索引类型
    备注:元素隐式地具有“any”类型,因为类型“string”的表达式不能用于索引类型“typeofimport(“xxx”)解决办法mock.tsexportfunctiontex ... [详细]
  • js前端如何实现图片文本文件预览功能
    这篇“js前端如何实现图片文本文件预览功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借 ... [详细]
  • Vite2+Vue3学习笔记(一):Vue3.0项目搭建及配置过程
    Vite2+Vue3学习笔记(一):Vue3.0项目搭建及配置过程-theme:orange参考链接:如何在Vite中使用ElementUI+Vue3-知乎前言本人职场 ... [详细]
  • NodeAddonNodeAddon是官方的C++模块开发途径,可实现Node与底层技术结合,如驱动、操作系统等。开发环境需要安装nodev8.11.1npmv5.6.0node- ... [详细]
  • 使用crypto-js的md5加密-cag2050-博客园https:www.cnblogs.comcag2050p8191301.htmlhttps:github. ... [详细]
  • 在Vue中使用highCharts绘制3d饼图
    highcharts是国外知名基于javascript的图表库。由于中文官网的vue中使用highcharts配置繁琐并且需要引入jquery作为依赖,所以弃用。接下来,给各位伙伴 ... [详细]
  • 04.ElementUI源码学习:组件封装、说明文档的编写发布
    04.ElementUI源码学习:组件封装、说明文档的编写发布2021-04-2122:30 Anduril 阅读(451) 评论(0) 编辑 收藏项目经过一系列的配置,开发脚手架 ... [详细]
  • 使用Vue+Spring Boot实现Excel上传功能
    1.使用Vue-Cli创建前端项目运用vue-cli工具可以很轻松地构建前端项目,当然,使用WebStorm来构建会更加简洁(如图)。本文推荐使用WebStorm,因 ... [详细]
  • nvmw安装,用于控制node版本;
    之前一直使用的是nodev2.2.0版本,挺说新版本的node解决了npm安装插件产生文件夹结构过深的问题,所以就想更新试试;上网一看才发现,尼玛的node已经到了6.+版本了,好 ... [详细]
author-avatar
孔红MJ
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有