Vue 路由 过渡动效 数据获取方法


Posted in Javascript onJuly 31, 2018

过渡动效

<router-view> 是基本的动态组件,所以我们可以用 <transition> 组件给它添加一些过渡效果:

<transition>
 <router-view></router-view>
</transition>

单个路由的过渡

上面的用法会给所有路由设置一样的过渡效果,如果你想让每个路由组件有各自的过渡效果,可以在各路由组件内使用 <transition> 并设置不同的 name。

基于路由的动态过渡

还可以基于当前路由与目标路由的变化关系,动态设置过渡效果

<!-- 使用动态的 transition name -->
<transition :name="transitionName">
 <router-view></router-view>
</transition>
// 接着在父组件内
// watch $route 决定使用哪种过渡
watch: {
 '$route' (to, from) {
  const toDepth = to.path.split('/').length
  const fromDepth = from.path.split('/').length
  this.transitionName = toDepth < fromDepth ? 'slide-right' : 'slide-left'
 }
}

数据获取

进入某个路由后,需要从服务器获取数据。例如,在渲染用户信息时,你需要从服务器获取用户的数据。我们可以通过两种方式来实现:

1.导航完成之后获取:先完成导航,然后在接下来的组件生命周期钩子中获取数据。在数据获取期间显示『加载中』之类的指示。

2.导航完成之前获取:导航完成前,在路由的 enter 钩子中获取数据,在数据获取成功后执行导航。

导航完成后获取数据

当你使用这种方式时,我们会马上导航和渲染组件,然后在组件的 created 钩子中获取数据。这让我们有机会在数据获取期间展示一个 loading 状态,还可以在不同视图间展示不同的 loading 状态。

假设我们有一个 Post 组件,需要基于 $route.params.id 获取文章数据:

在导航完成前获取数据

通过这种方式,我们在导航转入新的路由前获取数据。我们可以在接下来的组件的 beforeRouteEnter 钩子中获取数据,当数据获取成功后只调用 next 方法。

下面是地址:https://github.com/haxxk/xu_s...
https://github.com/haxxk/xu_s...

总结

以上所述是小编给大家介绍的Vue 路由 过渡动效 数据获取方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript的Function详细
Nov 14 Javascript
JS对URL字符串进行编码/解码分析
Oct 25 Javascript
jquery中使用ajax获取远程页面信息
Nov 13 Javascript
JQuery循环滚动图片代码
Dec 08 Javascript
将字符串转换成gb2312或者utf-8编码的参数(js版)
Apr 10 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
Jun 16 Javascript
正则表达式优化JSON字符串的技巧
Dec 24 Javascript
JavaScript仿支付宝密码输入框
Dec 29 Javascript
AngularJs 动态加载模块和依赖
Sep 15 Javascript
微信小程序实现YDUI的ScrollNav组件
Feb 02 Javascript
vue eslint简要配置教程详解
Jul 26 Javascript
测量JavaScript函数的性能各种方式对比
Apr 27 Javascript
JS实现判断图片是否加载完成的方法分析
Jul 31 #Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
Jul 31 #Javascript
vue实现word,pdf文件的导出功能
Jul 31 #Javascript
在create-react-app中使用css modules的示例代码
Jul 31 #Javascript
详解使用create-react-app添加css modules、sasss和antd
Jul 31 #Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
Jul 31 #jQuery
Vue导出页面为PDF格式的实现思路
Jul 31 #Javascript
You might like
Zerg兵种介绍
2020/03/14 星际争霸
PHP的可变变量名的使用方法分享
2012/02/05 PHP
phpphp图片采集后按原路径保存图片示例
2014/02/18 PHP
php常用字符串比较函数实例汇总
2014/11/24 PHP
php将一维数组转换为每3个连续值组成的二维数组
2016/05/06 PHP
href下载文件根据id取url并下载
2014/05/28 Javascript
JS组件Bootstrap实现图片轮播效果
2016/05/16 Javascript
JavaScript数组去重的几种方法效率测试
2016/10/23 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
2017/02/28 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
详解AngularJS2 Http服务
2017/06/26 Javascript
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
2017/08/04 Javascript
jQuery选择器中的特殊符号处理方法
2017/09/08 jQuery
浅谈Vue响应式(数组变异方法)
2018/05/07 Javascript
VUE注册全局组件和局部组件过程解析
2019/10/10 Javascript
Javascript Worker子线程代码实例
2020/02/20 Javascript
vue.js实现照片放大功能
2020/06/23 Javascript
用Python实现一个简单的能够上传下载的HTTP服务器
2015/05/05 Python
Python set常用操作函数集锦
2017/11/15 Python
Python IDLE入门简介
2017/12/08 Python
浅谈Python实现贪心算法与活动安排问题
2017/12/19 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
Django使用Mysql数据库已经存在的数据表方法
2018/05/27 Python
详细介绍pandas的DataFrame的append方法使用
2019/07/31 Python
Python函数装饰器原理与用法详解
2019/08/16 Python
python openCV获取人脸部分并存储功能
2019/08/28 Python
Pytorch实现各种2d卷积示例
2019/12/30 Python
3D动画《斗罗大陆》上线当日播放过亿
2021/03/16 国漫
俄罗斯茶和咖啡网上商店:Tea.ru
2021/01/26 全球购物
英文版区域经理求职信
2013/10/23 职场文书
大学生怎样写好自荐信
2014/02/25 职场文书
高中竞选班长演讲稿
2014/04/24 职场文书
大队委竞选演讲稿
2014/04/28 职场文书
材料专业大学毕业生自荐书
2014/07/02 职场文书
企业与个人合作经营协议书
2014/11/01 职场文书
教师学习群众路线心得体会
2014/11/04 职场文书