随笔分类 -  TS

摘要:import 'reflect-metadata'; function showData(target: typeof User) { for (let key in target.prototype) { const data = Reflect.getMetadata('data', targe 阅读全文
posted @ 2020-08-17 08:26 wzndkj 阅读(372) 评论(0) 推荐(0) 编辑
摘要:reflect-metadata 是一个库,这个库可以帮助我们在类上面或者类的属性上面去存储一些数据,并且方便的数据获取 安装这个库 npm install reflect-metadata --save import 'reflect-metadata'; const user = { name: 阅读全文
posted @ 2020-08-13 08:25 wzndkj 阅读(1268) 评论(0) 推荐(0) 编辑
摘要:const userInfo: any = undefined; class Test{ getName() { return userInfo.name; } getAge() { return userInfo.age; } } const test = new Test(); test.get 阅读全文
posted @ 2020-08-12 09:01 wzndkj 阅读(464) 评论(0) 推荐(0) 编辑
摘要:/** * 参数装饰器,只要是装饰器一定是函数 * @param target Test 对应的 prototype * @param key 方法名 * @param paramIndex 参数所在的位置 */ function paramDecorator(target: any, method 阅读全文
posted @ 2020-08-11 08:13 wzndkj 阅读(991) 评论(0) 推荐(0) 编辑
摘要:/** * 属性装饰器只能接收到两个参数 * @param target Test 对应的 prototype * @param key 属性名字 */ function nameDecorator(target: any, key: string):any { const descriptor: 阅读全文
posted @ 2020-08-10 08:21 wzndkj 阅读(1036) 评论(0) 推荐(0) 编辑
摘要:访问器譬如 private public protect /** * 访问器装饰器的参数跟方法装饰器的参数是一样的 * @param target prototype * @param key function name * @param descriptor 描述符 */ function vis 阅读全文
posted @ 2020-08-07 08:22 wzndkj 阅读(430) 评论(0) 推荐(0) 编辑
摘要:/** * 装饰器永远是个方法,方法的装饰器,里面的三个参数是规定好的 * * @param target 普通方法 target 对应的是类的 prototype * 静态方法 target 对应的是类的构造函数 * * @param key 装饰方法的名字 * * @param descript 阅读全文
posted @ 2020-08-06 08:21 wzndkj 阅读(496) 评论(0) 推荐(0) 编辑
摘要:// 最外层是个函数,再返回一个新的函数 function testDecorator(flag: boolean) { if (flag) { return function (constructor: any) { constructor.prototype.getName = () => { 阅读全文
posted @ 2020-08-03 08:32 wzndkj 阅读(147) 评论(0) 推荐(0) 编辑
摘要:// 类的装饰器:对类的一个修饰 /** * 装饰器本身是一个函数 * @param constructor * 类的装饰器接收的函数是类的构造函数 constructor * * testDecorator 的运行时机是类创建的时候立即执行 * 对类做修饰,不是对实例做修饰 */ function 阅读全文
posted @ 2020-07-30 08:45 wzndkj 阅读(884) 评论(0) 推荐(0) 编辑
摘要:interface Person{ name: string; age: number; gender: string; } class Teacher{ constructor(private info: Person) { } // getInfo(key: string) { // retur 阅读全文
posted @ 2020-06-30 06:33 wzndkj 阅读(4624) 评论(0) 推荐(0) 编辑
摘要:安装 jquery cnpm install jquery --save 不以 cdn 的方式引入,而是以模块化的方式引入 jquery index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta n 阅读全文
posted @ 2020-06-29 06:25 wzndkj 阅读(213) 评论(0) 推荐(0) 编辑
摘要:index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <titl 阅读全文
posted @ 2020-06-28 06:24 wzndkj 阅读(2241) 评论(0) 推荐(0) 编辑
摘要:index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <titl 阅读全文
posted @ 2020-06-25 07:27 wzndkj 阅读(977) 评论(0) 推荐(0) 编辑
摘要:初始化 package.json npm init -y 初始化 tsconfig.json tsc --init 安装 parcel cnpm install parcel@next -D tsconfig.json 找到配置 "outDir": "./dist", "rootDir": "./s 阅读全文
posted @ 2020-06-25 06:56 wzndkj 阅读(706) 评论(0) 推荐(0) 编辑
摘要:///<reference path = 'components.ts' /> namespace Home{ export class Page{ user: Components.User = { name: '111' } constructor() { new Components.Head 阅读全文
posted @ 2020-06-23 06:39 wzndkj 阅读(393) 评论(0) 推荐(0) 编辑
摘要:多个命名空间的引用 components.ts namespace Components{ export interface User{ name: string } export class Header { constructor() { const elem = document.create 阅读全文
posted @ 2020-06-22 06:44 wzndkj 阅读(132) 评论(0) 推荐(0) 编辑
摘要:demo.ts class Header { constructor() { const elem = document.createElement('div'); elem.innerText = 'This is Header'; document.body.appendChild(elem); 阅读全文
posted @ 2020-06-21 07:41 wzndkj 阅读(164) 评论(0) 推荐(0) 编辑
摘要:class DataManager{ constructor(private data: string[]) {} getItem(index: number): string { return this.data[index] } } /** * 创建了这样一个类,传递进来一个 string类型的 阅读全文
posted @ 2020-06-20 08:56 wzndkj 阅读(379) 评论(0) 推荐(0) 编辑
摘要:function join(first: string | number, second: string | number) { return `${first}${second}`; } join('1', 1); /** * 这么看 join 还挺好用的。 * 如果我想做到这两个数要么都传 st 阅读全文
posted @ 2020-06-19 06:39 wzndkj 阅读(663) 评论(0) 推荐(1) 编辑
摘要:function getResult(status) { if (status 0) { return 'offline' } else if (status 1) { return 'online'; } else if (status 2) { return 'deleted' } return 阅读全文
posted @ 2020-06-18 06:31 wzndkj 阅读(155) 评论(0) 推荐(0) 编辑