自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 Angular项目中使用rxjs实现输入自动搜索的功能,类联想组件

在项目中仿照网易云音乐首页搜索框实现了一个输入框输入内容自动加载表格数据的功能,具体实现看代码。 1、html模板相关dom<input type="text" placeholder="请输入内容查询" [(ngmodel)]="searchModel" #searchInput> 2、compoent组件对应内容,在组件对应的afterViewInit对应的生命周期方法中创建input框对应的事件Observable对象,并完成订阅。核心...

2021-01-06 18:14:06 492

原创 在Angular项目中使用Rxjs的方式实现自定义滚动条

此处实现滚动条的核心逻辑与传统dom绑定鼠标事件的方式基本类似,可以参考我前一篇文章对比学习。 首先,定义滚动条组件ScrollBarComponent,核心代码如下: 1、先定义一些组件相关的属性,跟传统dom绑定鼠标事件一样,具体看代码注释:canMove = false; // 滚动条是否可以移动disLeft: number; // 鼠标按下时距离滚动条最左边的距离moveLeft: number; // 滚动条移动的时候距离页面左边的距离...

2020-12-18 23:23:05 416

原创 Angular项目中自定义滚动条的使用

在项目中使用到了自定义滚动条的功能,简单记录下心得,跟网易云音乐自定义播放器进度的拖动原理类似,只是自己在项目中并没有使用Rxjs的方式去实现。 自定义滚动条的核心逻辑是用dom模拟滚动条的样式,用鼠标事件来使滚动条跟着鼠标移动而移动,过程中也涉及到滚动条距离页面边距的计算。 首先,定义滚动条组件ScrollBarComponent,核心代码如下: 1、先定义一些组件相关的属性,具体看代码注释:canMove = false; //...

2020-12-15 18:59:25 2030

原创 Angular中使用Resolve守卫实现预先获取路由组件所需数据

Angular官网中描述的使用resolve守卫主要解决的问题如下: 如果你在使用真实 api,很有可能数据返回有延迟,导致无法即时显示。 在这种情况下,直到数据到达前,显示一个空的组件不是最好的用户体验,最好使用解析器预先从服务器上获取完数据,这样在路由激活的那一刻数据就准备好了,还要在路由到此组件之前处理好错误。总之,你希望的是只有当所有必要数据都已经拿到之后,才渲染这个路由组件。 学习Angular项目实现的网易云首页如下: 在首...

2020-11-25 20:51:25 941 1

原创 Angular中常用Ref总结

1、ApplicationRef两个主要个作用:(1)可以通过appRef.tick()来全局性调用变化检测; ApplicationRef.tick() - 检查所有组件树(2)可以将视图用attachView()包含到变化检测中 用detachView()将视图移除变化检测 ; 不用ViewContainerRef,动态插入一个组件到一个特定的DOM节点:exp...

2019-08-01 19:10:59 4329

原创 Angular项目中使用echarts中国地图

首先要在Angular项目中安装echarts的依赖:npm install echarts --savenpm install ngx-echarts --save第二、在创建包含地图的Angular组件的时候引入echarts插件和包含的地图插件,并完成配置和初始化。主要有两种方式: 第一种方式,通过JSON方式引入,步骤如下: (1)引入http...

2019-07-16 12:36:37 3798

原创 JavaScript数组(包含基本数据类型)中校验是否有重复数据的方法

1.对数组进行排序,比较相邻元素是否相等。const arr = ['111','22','33','111','44'];const arr2 = arr.sort();console.log(arr2);for (let i = 0; i < arr2.length; i++) { if (arr2[i] === arr2[i+1]) { console.log('1....

2019-05-09 14:12:17 1059

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除