vue移动端UI框架实现QQ侧边菜单组件
发布时间:2020-12-17 02:31:27 所属栏目:百科 来源:网络整理
导读:最近面试发现很多前端程序员都从来没有写过插件的经验,基本上都是网上百度。所以打算写一系列文章,手把手的教一些没有写过组件的兄弟们如何去写插件。本系列文章都基于VUE,核心内容都一样,会了之后大家可以快速的改写成react、angular或者是小程序等组件
最近面试发现很多前端程序员都从来没有写过插件的经验,基本上都是网上百度。所以打算写一系列文章,手把手的教一些没有写过组件的兄弟们如何去写插件。本系列文章都基于VUE,核心内容都一样,会了之后大家可以快速的改写成react、angular或者是小程序等组件。这篇文章是第一篇,写的是一个类似QQ的侧边菜单组件。 效果展示先让大家看个效果展示,知道咱们要做的东西是个怎么样的样子,图片有点模糊,大家先将就点: 开始制作DOM结构整体结构中应该存在两个容器:1. 菜单容器 2. 主页面容器;因此当前DOM结构如下: 为了使得菜单内容和主题内容能够定制,我们再给两个容器中加入两个slot插槽:默认插槽中放置主体内容、菜单放置到menu插槽内: css样式我项目中使用了scss,代码如下: .r-slide-menu{
@include one-screen; &-wrap,&-content{ @include one-screen; } &-transition{ -webkit-transition: transform .3s; transition: transform .3s; } } 此时我们就得到了两个绝对定位的容器 javascript现在开始正式的代码编写了,首先我们理清下交互逻辑:
所以现在咱们需要在使用组件的时候能够入参定制菜单宽度以及触发菜单收起关闭的临界值和菜单宽度的比例,同时需要给主体容器添加touch事件,最后我们给菜单容器和主体容器添加各自添加一个控制他们运动的style,通过控制这个style来控制容器的移动 |