摘要: 前言 交换数组元素位置是开发项目中经常用到的场景,总结下用过的几种方式。 第三方变量 最基础的方式,创建一个变量作为中转。 splice方法 splice() 方法用于插入、删除或替换数组的元素。如果是删除时,会返回被删除的元素数组。参数如下: 可使用splice方法来交换数组的位置,如下: arr阅读全文
posted @ 2018-09-18 16:57 Shapeying 阅读(79) 评论(0) 编辑
摘要: 之前自己写的公共组件,都是会先引入,需要调起的时候再通过service控制公共组件状态、值、回调函数什么的。但是有一些场景不适合这种方式,还是动态添加组件更加好。通过写过的一个小组件来总结下。 创建组件 场景:鼠标移动到图标上时,展示解释性的说明文字。那就需要创建一个普通的tooltip组件。如下:阅读全文
posted @ 2018-07-09 11:25 Shapeying 阅读(302) 评论(0) 编辑
摘要: 无奈接手了一个旧项目,上一个老哥在Angular项目中大量使用了JQuery来操作DOM,真的是太不讲究了。那么如何优雅的使用Angular的方式来操作DOM呢? 获取元素 1、ElementRef A wrapper around a native element inside of a View阅读全文
posted @ 2018-07-06 13:45 Shapeying 阅读(1008) 评论(0) 编辑
摘要: 浏览器都有页面全屏的功能 F11 ,那么如何用JavaScript控制页面全屏呢?MDN上提供的的API , 一个小demo验证一下! Api的使用都很简单,主要就是一个兼容性的问题,这个小demo,在Chrome,Firefox,Edge,IE 11 上测试过,都可以正常切换全屏,也可以正常监听事阅读全文
posted @ 2018-06-30 14:32 Shapeying 阅读(140) 评论(0) 编辑
摘要: 对象的属性是由属性名name,值key,和其他特性(可读写性 writable,可枚举性enumerable,可配置性configurable)组成的。从ES5开发,提供了getter和setter 可以将属性值的获取和设置分别绑定到方法上,称之为“存取器”。有了getter和setter我们就能够阅读全文
posted @ 2018-06-28 17:02 Shapeying 阅读(310) 评论(2) 编辑
摘要: 模型驱动表单 之前有篇博文总结了 模版驱动表单 , 以及 模版驱动表单的自定义校验 , 本篇总结下模型驱动表单。 与模版驱动表单是不同的编程思路,偏向于数据模型。先在组件中建立表单控件的对象树,再绑定到组件模版的原生表单控件上。而模版驱动表单则是在组件模版中使用了内置的 ngForm、ngModel阅读全文
posted @ 2018-06-25 10:16 Shapeying 阅读(513) 评论(0) 编辑
摘要: JavaScript可以自由的进行数据类型转换,也提供了多种显式转换的方式。但是更多的情况下,是由JavaScript自动转换的,当然这些转换遵循着一定的规则,了解数据类型自由转换的规则是非常必要的。再次翻阅犀牛书后有了一些总结,与大家分享,有不严谨地方,望指正! 数据类型 聊到数据类型转换,就不得阅读全文
posted @ 2018-06-20 17:04 Shapeying 阅读(434) 评论(0) 编辑
摘要: 判断对象中是否有某属性的常见方式总结,不同的场景要使用不同的方式。 一、点( . )或者方括号( [ ] ) 通过点或者方括号可以获取对象的属性值,如果对象上不存在该属性,则会返回undefined。当然,这里的“不存在”指的是对象自身和原型链上都不存在,如果原型链有该属性,则会返回原型链上的属性值阅读全文
posted @ 2018-06-14 00:00 Shapeying 阅读(2600) 评论(0) 编辑
摘要: 在有input输入框的搜索/过滤业务中,总会考虑如何减少发起请求频率,尽量使每次的请求都是有效的。节流和防抖是比较常见的做法,这类函数的实现方式也不难,不过终归还是需要自己封装。rxjs提供了各种操作符 , 可以很快捷高效的实现这些功能。 栗子 现在有一个查询场景,可以通过城市、类型、关键字来多维度阅读全文
posted @ 2018-05-29 13:15 Shapeying 阅读(122) 评论(0) 编辑
摘要: 上一篇 总结了模版驱动表单的基本用法,示例中的校验使用的是原生HTML5的校验方式,本文补上自定义校验的部分。 HTML5原生的表单校验属性(必填,长度限制,取值间隔,正则表达式等等)可以满足普通的校验需求,但是有些场景必须用到自定义校验,比如注册时的密码确认,有比对关系的时间/数值选择, 需要到请阅读全文
posted @ 2018-05-16 20:51 Shapeying 阅读(325) 评论(2) 编辑