≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > vue.js

基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果

人气:413 时间:2019-04-08

这篇文章主要为大家详细介绍了基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!

效果图如下所示:

【q1010.com温馨提示:图片暂缺】 

在线地址: github.czero.cn/fancy 

点击下载安卓apk安装包

源码地址: github.com/czero1995/f…

项目主架构

【q1010.com温馨提示:图片暂缺】 

使用的库

  • vue-cli (vue+webpack脚手架)
  • vue-router(路由跳转)
  • vuex(状态管理)
  • axios(数据请求)
  • mock.js(模拟后台数据)
  • vue-touch(手势判断)
  • fastclick(解决移动端浏览器 300 毫秒点击延迟问题)
  • vue-lazyload(图片懒加载)
  • swiper(轮播)

设计布局:

将页面的固定布局 position:fixed (比如Header,Footer)全部改为绝对布 局position:absolute ;

因为fixed会出现莫名其妙的兼容性问题,比如在ios11或ios8下会失效,输入框软键盘激活之后会把底部的固定定位弹出去,导致布局错乱。

用absolute实现fixed细节可以参考这篇

  • HTML5
  • CSS3
  • Less
  • rem(阿里用的那套rem算法)
  • Flex(弹性布局)
  • vue-touch(用于实现购物车左滑删除功能) *动画(vue原生transition实现原生app的效果)
  •  

数据请求:

  • Mock(模拟后台数据)
  • Axios(请求数据)

逻辑交互:

  • vue(数据渲染,各个组件间的数值传递)
  • vue-router(组件间的路由跳转)
  • vuex(全局状态的管理)
  •  

优化方案:

  • 腾讯智图(压缩图片,减少图片的体积)
  • vue-lazyload(图片懒加载,缓解加载数据,提高网页性能)
  • fastclick(解决移动端300ms延迟,提高页面交互流畅度)
  • vue-rouer(路由懒加载,分离app的js为多个js文件,到对应的页面再执行对应的js)
  • webpack(config/index.js文件内的productionSourceMap改为false,这样打包出来的文件可以没有.map结尾的js文件,且文件体积减少至少一半)

 

实现细节

 

媲美原生的页面前进和后退的动画实现:

【q1010.com温馨提示:图片暂缺】 

指定transition:name

在data中声明默认的进出动画

【q1010.com温馨提示:图片暂缺】 

在mounted()数据渲染初始化完成之后进行判断

【q1010.com温馨提示:图片暂缺】 

拿到vuex的状态值

【q1010.com温馨提示:图片暂缺】 

然后进行判断

【q1010.com温馨提示:图片暂缺】 

最后将当前的组件名字传给vuex,实现不同的组件进去就有不同的切换动画。

下一页动画

代码如下:


.slide-go-enter-active,
.slide-go-leave-active {
 transition: all .5s;
 opacity: .8;
}
.slide-go-enter,
.slide-go-leave-to {
 transition: all .5s;
 transform: translate3d(100%, 0, 0);
 opacity: .8;
}

返回上一页动画

代码如下:


.slide-back-enter-active,
.slide-back-leave-active {
 transition: all .5s;
}
.slide-back-enter,
.slide-back-leave-to {
 transition: all .5s;
 transform: translate3d(-100%, 0, 0);
}

购物车左滑删除

【q1010.com温馨提示:图片暂缺】 

v-touch

在css中设置好删除按钮的偏移量

代码如下:


-webkit-transform: translate(-12%, 0);
-webkit-transition: all 0.3s linear;

左右滑方法

【q1010.com温馨提示:图片暂缺】 

滑动的时候触发select样式,进行绑定

让当前的列表项==购物车的列表,样式会被激活,出现左滑删除

【q1010.com温馨提示:图片暂缺】

 
【q1010.com温馨提示:图片暂缺】

 

注意页面的盒子使用盒子之后会和原生页面出现冲突,导致滑动不流畅

因此,需要在main.js指定默认的滑动方式为横向滑动触发

【q1010.com温馨提示:图片暂缺】 

订单页面,点击顶部导航和左右滑动进行组件的切换以及动画样式的判断

【q1010.com温馨提示:图片暂缺】 

也是使用的v-touch组件,实现方式和组件切换类似。 我给每个订单状态的组件一个不同的数字,根据这个数字,判断组件是左滑动的动画还是又滑动的动画

【q1010.com温馨提示:图片暂缺】

 
【q1010.com温馨提示:图片暂缺】

 

 

总结

 

以上所述是小编给大家介绍的基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对四海网网站的支持!

本文来自:http://www.q1010.com/184/4026-0.html

注:关于基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:vue.js

您可能感兴趣的文章

  • Vue v2.4中新增的$attrs及$listeners属性使用教程
  • vuejs实现递归树型菜单组件
  • vue2.0 兄弟组件(平级)通讯的实现代码
  • vue.js整合vux中的上拉加载下拉刷新实例教程
  • web前端vue filter 过滤器
  • vue2.0 如何把子组件的数据传给父组件(推荐)
  • 基于vue-ssr服务端渲染入门分析
  • 分析基于vue-cli配置移动端自适应
  • 浅谈vue的props,data,computed变化对组件更新的影响
  • Vue 组件(component)教程之实现精美的日历方法示例
上一篇:简易Vue评论框架的实现(父组件的实现)
下一篇:Vue 组件(component)教程之实现精美的日历方法示例
热门文章
  • Vue 报错TypeError: this.$set is not a function 的解决方法
  • vue实现动态添加数据滚动条自动滚动到底部的示例代码
  • vue项目设置scrollTop不起作用(总结)
  • vue项目中使用vue-i18n报错的解决方法
  • iview实现select tree树形下拉框的示例代码
  • 分析关于element级联选择器数据回显问题
  • vue项目打包后打开页面空白解决办法
  • 解决element ui select下拉框不回显数据问题的解决
  • element-ui table span-method(行合并)的实现代码
  • element-ui 设置菜单栏展开的方法
  • 最新文章
    • 理解vue ssr原理并自己搭建简单的ssr框架
    • vue favicon设置以及动态修改favicon的方法
    • vue-router启用history模式下的开发及非根目录部署方法
    • 从零开始在NPM上发布一个Vue组件的方法步骤
    • Element input树型下拉框的实现代码
    • Vue 报错TypeError: this.$set is not a function 的解决方法
    • Vue.js组件高级特性实例分析
    • 浅谈VueJS SSR 后端绘制内存泄漏的相关解决经验
    • 分析Vue.js自定义tipOnce指令用法实例
    • 浅谈vuex actions和mutation的异曲同工

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。