![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JS&TS
Damien_J
Comprehend |
Create |
Universe
展开
-
Angular ts中监听变量
这边使用angluar/core中的OnChanges接口,然后实现 ngOnChanges方法,只要变量发生了变化,这里面都可以监听到,然后就可以监听你具体想监听的变量了。这边有个需求,需要监控某个@input的变量变化,突然忘记怎么监听变量了,查了下,记录。原创 2024-02-28 15:53:26 · 319 阅读 · 0 评论 -
Date.toLocaleString()不同系统语言之会返回不同的format(可能导致我查的出来数据别人查不出来)
最近发生了个Bug,访问部署在服务器上的服务,我选了时间之后查的出来数据,别人就不行,同样的条件,同样的时区。百思不得解。直到看了 request里面的参数,发现怎么format不一致,都是访问的服务器部署的服务。发现front-end这部分的代码时这样的他们back-end直接解析的特定format的 dateString然后又检查了我和那个同事电脑系统,发现他的是英文系统,我的是中文系统,原创 2023-09-06 14:59:47 · 353 阅读 · 0 评论 -
对于array的.toLocaleString()与.flat()区别
最近都使用到这两个方法,对于array。记录下具体区别先是他们的简介,我这里用的就是string的.toLocaleString() ,因为array的就是分别去调用里面的.toLocaleString() 在拼接成。原创 2023-09-06 10:46:55 · 125 阅读 · 0 评论 -
typescript删除array中的空值
可以看到,调用之后空值被清清除了,如果本身就是1维数组就无所谓,但如果本身是多维数组,又不想数组维度被改变的话就需要传入0,才不会导致数据维度改变。原创 2023-09-06 10:42:33 · 277 阅读 · 0 评论 -
rxjs之noop操作符(typescript 之占位符)
noop是一个英文缩写,它的全称是no operation,意思是不做任何操作。它通常用来表示一个空的或者无效的函数,它不接受任何参数,也不返回任何值。在typescript中,noop可以用来作为一个默认的或者占位的函数。之前写代码,就在想,如果像python一样有一个 _ 或者pass类似的占位符,代码可读性就会高很多,而且好看的多,后来才发现有个noop。原创 2023-09-05 15:00:56 · 368 阅读 · 0 评论 -
Observable<any>.subscribe中的finalize和complete区别
之前一直以为complete就是完成之后不论成不成功都会进入,就和try catch 里面的finally一样,直到今天,我写在complete里面的代码,在进入error之后没进入,才发现。去查了下总结下。原创 2023-09-05 14:54:53 · 264 阅读 · 0 评论 -
rxjs让两个多或者多个Observable完成之后再执行下一步
最新有个需求,需要在两个获取配置code的请求完成之后再去执行下一步,以往的做法可能是写链式,就是一个套在另外一个的subscribe里面,但是那样太丑了,而且效率也不高,突然想起来之前看到过forkJoin,记录下。可以看到我去call了两个 code ,等这两个都执行完了,再去执行我的附加代码。原创 2023-06-02 15:00:40 · 562 阅读 · 0 评论 -
reduce 报错 Reduce of empty array with no initial value
这个错误的原因是array为空的情况下调用reduce就会报错,所以解决方案有两个,第一就是判断是否为空再调用,第二就是给一个initvalue给reduct方法。在使用reduce的时候报了错,查了下,记录。原创 2023-04-11 12:16:23 · 893 阅读 · 0 评论 -
JS Array 快速求和
Array求和用for那些感觉太麻烦了,代码不好看,想了想用reduce可以更加简洁一点,记录。reduce 方法的简介。原创 2023-04-11 12:03:29 · 116 阅读 · 0 评论 -
js 移动端获取触摸坐标
适配响应式,发现移动端的无法获取坐标原创 2022-07-29 15:30:02 · 839 阅读 · 0 评论 -
JS 移动端mousemove失效
移动端mousemove失效原创 2022-07-29 14:58:43 · 2204 阅读 · 0 评论 -
js Array去重
最近需要用到js去重,突然忘记怎么搞了,查了下想起来了,记录下,以免再忘记使用Set从这个console的test就可以看出来,因为set里都是非重的,所以可以利用set来去重,new set之后再转回Array.,返回一个新的Array,原来的Array并没有改变...原创 2021-03-01 10:06:47 · 1014 阅读 · 0 评论 -
typescript数组降维
Infinity参数是强制全部转换成1维,其他int值待变指定转换几层array.flat(Infinity)这时tsconfig.json要把lib加es***改到es2019以上才行,不然没有这个语法"lib": ["es2019"]{ "compilerOptions": { "baseUrl": "src/main/webapp/", "outDir": "./target/classes/static/", "forceConsistentCasi.原创 2021-12-20 10:13:49 · 153 阅读 · 0 评论 -
TS 使用Canvas获取鼠标点击处颜色
因为个人某些原因会使用到这个东西,查了一下顺便记录 <canvas #t id="canvas" width="400px" height="286px" (click)="getCX($event,t)"></canvas>首先呢,如果现在canvas上绘制某些图,就直接使用下面的方法 const img = new Image(); img.src = 'xxxx'; img.onload = (function ()...原创 2021-12-05 21:45:13 · 1565 阅读 · 0 评论 -
JS 深拷贝
最近有个需求,需要记录最初的数据,每次修改都需要在最初数据的基础上进行修改,这时候下意识就用了一下逻辑.1.b=Object.assign({},a) //recording2.a=Object.assign({},b) then modify a之后却发现用来记录的a 每次都被改变了,当时就很疑惑,我明明使用了拷贝份,为什么还是改变了.后面才会发现拷贝的不够深.Object.assign从console的test就可以看出,可以看到对于一层对象来说是没有任何问题的,但是如果对象的属性对应的是.原创 2021-02-24 17:39:55 · 163 阅读 · 0 评论 -
Rxjs 学习
最近使用了一些rxjs里面的一些方法,想系统的学习一下,就看了下,记录了些感觉以后自己可能会经常用到的.of / justhttps://rxjs-cn.github.io/learn-rxjs-operators/operators/complete.htmltimerhttps://rxjs-cn.github.io/learn-rxjs-operators/operators/creation/timer.htmlfirsthttps://rxjs-cn.github.io/lea.原创 2021-04-02 16:22:38 · 136 阅读 · 0 评论 -
Rxjs pipe
Pipeable 操作符现在 RxJS 提供了 pipe 辅助函数,它存在于 Observable 上,它缓解了操作符不在原型上所带来的问题。我们还继续使用上面丑陋的代码块:import { take, map } from 'rxjs/operators';import { of } from 'rxjs/observable/of';map.call( take.call( of(1,2,3), 2 ), val => val + 2);并将其转换成:原创 2021-04-02 18:01:31 · 2501 阅读 · 1 评论 -
ESlint 针对文件进行部分禁用
aka,eslint可以针对ts中语法问题提示,但是有些时候我们不想让他提示,我们可以确定那个写法没有问题.一个一个文件禁用太麻烦了,这时候就可以这样做..eslintrc.json在overrides里面,限定我们要修改的文件类型,*为通配符,可以禁用某些错误的告警{ "parser": "@typescript-eslint/parser", "plugins": ["@angular-eslint/eslint-plugin", "@typescript-eslint"], "r.原创 2021-06-18 16:51:28 · 1313 阅读 · 0 评论 -
TypeScript 4.0 &&= ||= ??=
最新项目升级,typescript从3.9.5 升级到了4.1.5,所以去看了下ts的更新文档.看到了这个之前用过的写法更新了,所以记录下.之前的写法是a = a && b a = a || ba = a ?? b这三个写法的意思就是if(a){ a = b;}if(!a){ a = b;}if( a == undefined || a == null ){ a = b;}现在这个写法更新了,类似于 += 或者-=的写法a &&= .原创 2021-06-03 11:49:14 · 685 阅读 · 0 评论 -
Property ‘...‘ does not exist on type ‘EventTarget‘ TypeScript&HTML解决方案
最新同事项目升级,把tsconfig的strictDomEventTypes打开了,HTML中出现了 Property ‘checked’ does not exist on type 'EventTarget’ 报错.报错呈现原因因为$event是 MouseEvent 类型的,里面的target是 EventTarget 类型, EventTarget 里面是没有checked这个属性的.解决做法就是把target强转成 HTMLInputElement. 直接在HTML里面修改的.原创 2021-06-02 10:08:56 · 4284 阅读 · 3 评论