kai Blog

不安分的前端开发者

Simple Form

这篇文章假设你已经会使用angular的ngForm。 前提 大家都知道Angular中表单创建有两种方式 一种是 Template-Driven 模板驱动 一种是 Reactive/Model-Driven 动态表单 还一个基础 FormControl FormArray FormGroup 这三者都是继承自AbstractControl这个基本class 好了 回想下我们...

Angular之FormArray全探索

前提 大家都知道Angular中表单创建有两种方式 一种是 Template-Driven 模板驱动 另一种是 Reactive/Model-Driven 动态表单 还一个基础 FormControl FormArray FormGroup 这三者都是继承自AbstractControl这个基本class 本是同一类东西 可偏偏这个formArray不支持模板驱动的写法 官方17年2月...

NgDragSelectTable

这两天有空 整理了下 https://github.com/kavil/NgDragSelectTable NgDragSelectTable angular 6 component This project is a Demo, you can clone it to build. Public component in projects folder Inst...

levenshtein距离

在 ng6 的cli源码中(command-runner.js)有个识别错误命令的方法,用来给用户返回相似的命令并以此来纠正用户的误输入。里面用到了Levenshtein距离理论: 在信息论,语言学和计算机科学中,levenshtein距离是用于测量两个序列之间差异的字符串度量。非正式地,两个单词之间的Levenshtein距离是将一个单词更改为另一个单词所需的单字符编辑(插入,删除或...

基于phantom爬虫探索

基于node、phantom爬任何能打开的页面

前言 是的,我们要爬medium.com文章。medium网站浏览器能打开,但是用普通爬虫的方式请求会timeout,使用phantom即可解决。medium文章url + ‘?format=json’会自动转成json格式,这为我们带来极大便利。至于为什么做了严谨防爬手段的网站却提供能轻易得到的json,我就不得而知了,估计是方便自己开发调用吧… phantom篇 Phantom...

Angular之RouteReuse路由复用策略

Angular 利用 RouteReuseStrategy 贯穿路由状态并决定构建组件的方式。官方有提供教科书式的路由复用功能,只要重写下面几个基本方法: 基础 export class SimpleRouteReuseStrategy implements RouteReuseStrategy { cacheRouters: any = []; shouldDetach(...

服务器搭建lnmp记录

快捷命令 LNMP状态管理命令: LNMP 1.1状态管理: /root/lnmp {start|stop|reload|restart|kill|status} Nginx状态管理:/etc/init.d/nginx {start|stop|reload|restart} MySQL状态管理:/etc/init.d/mysql {start|stop|restart|reload|forc...

Hello 2015

"Hello World, Hello Blog"

“Yeah It’s on. ” 前言 kai 的 Blog 就这么开通了。 总算有个地方可以好好写点东西了。