![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
typescript
ironinfo
这个作者很懒,什么都没留下…
展开
-
typescript 字符串枚举的正确姿势:联合(Union)
字符串枚举的三种姿势:常量、枚举、联合,推荐用联合。 常量方式 在老的javascript代码中,有一个constants.js专门用来定义常量,里面有大量的常量字符串(例如)://DIERECTIONDIRECTION_NORTH='north';DIRECTION_SOUTH='south';DIRECTION_EAST='east';DIRECTION_...原创 2020-04-30 15:01:33 · 3114 阅读 · 2 评论 -
angular2 rxjs 取消订阅的最佳实践
对于非一次性的Observable的订阅,是需要释放的(模板html的async除外),最佳实践是创建一个BaseComponent,为所有子类组件提供一个ngDestroyed$ Subject,在 ngOnDestroy() 勾子函数中执行next, complete,子类组件中只需takeUntil(ngDestroyed$)。 BaseComponentimport...原创 2020-04-24 18:08:35 · 364 阅读 · 0 评论 -
angular2 rxjs 实现强类型自定义事件
事件(event)与rxjs中的可观察对象(Observable+Observer)本质相同,在github上找到一个库typed-rx-emitter封装好了Emitter,读index.ts代码可以看出,Emitter通过Messages实现自定义事件的强类型(事件名由Messages的Key约束,参数的强类型由Messages[Key]来给定),为Messages的Key分别维护了O...原创 2020-04-24 17:53:18 · 475 阅读 · 0 评论 -
angular2 改造 primeng colorpicker 控件
功能目标: 改造primeng的colorpicker组件,增加RGB/HSB/HEX三种编辑模式、最近用过的颜色、常用颜色功能,并提供按钮仅在点击【应用】的情况下更新。 改造前后的功能对比如下图所示。#ff0080 为HEX编辑区,RGB/HSB用来切换下方R(H)、G(S)、B三个输入框的label。再下方12个格为最近使用过的颜色,接着是10×12常用颜色,最后是【取消】...原创 2020-04-09 17:56:43 · 414 阅读 · 0 评论 -
angular2 随鼠标移动伸缩的表格创建组件
功能目标: 用于获取用户输入表格行、列数的组件,随鼠标移动,表格行列数变化,覆盖区域填充蓝色,效果如下图所示。 思路: 通过ngFor动态构造表格的行和列,通过maxrow,maxcol 控制表格白色区域,用rows,cols控制表格蓝色区域,使maxrow大于rows、maxcol大于cols。 由于ngFor没有i<n迭代功能,使用[0,1,2....原创 2020-03-24 16:48:08 · 272 阅读 · 0 评论 -
angular primeng table 非sortIcon排序
功能目标: 点击表格中一行,可向上、向下调整顺序。如下图,点【向下】按钮后第一行、第二行交换顺序。 组件:LayersWindow 利用primeng的table实现表格功能,html如下<p-dialog header="layers" [(visible)]="display"> <p-table #table [column...原创 2020-03-09 15:33:01 · 689 阅读 · 0 评论 -
angular primeng 弹出对话框修改
功能目标: 点击列表项字符串弹出对话框,修改后关闭对话框,替换列表项原字符串。 点击“background"时弹出图2: 点击【apply】,列表框background变为background1 组件: TextareaDialog----提供图2的编辑对话框; LayersWindow----列表例子。...原创 2020-03-09 10:06:32 · 881 阅读 · 0 评论 -
primeng dropdown ngmodel 选择项初始化
PrimeNG 的 DropDown 组件官方例子提供了两种方式: 1.cars: SelectItem[]; 使用SelectItem,此时selectedCar1、selectedCar2、selectedCar3 都是 string 而不是SelectItem,在模板中要注意,不能设定optionLabel="label",否则selectedCar1在运行时就变成了Sel...原创 2020-02-26 10:09:24 · 928 阅读 · 0 评论 -
javascript 代码转换为 typescript 代码
背景 用js写了几年前端程序,一直用extjs框架,最近学习了下angular觉得技术有必要升级换代了,于是就从把mxGraph从javascript转换为typescript开始了,本文介绍一下转换中常见问题。转换步骤 1. 将*.js文件重命名为*ts文件; 2. 在vscode中逐个修改ts文件中的js代码: 2.1 将var 替换为 co...原创 2020-01-31 16:59:47 · 10640 阅读 · 0 评论