国瑞前端
当前位置: Vue-Cli > Vue-router > 利用vue-router中的transition添加切换动画

vue-router中自带前端路由功能,但是切换起来比较的生硬,缺少一些美感,vue-router在设计之初也考虑到了这个问题,我们可以使用transition标签来给切换添加动画,下面的示例,演示的是当前页面向左逐渐消失,下一个页面向左逐渐显示。

利用vue-router中的transition添加切换动画(切换一般写在app.vue中)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//template
        <transition>
            <router-view></router-view>
        </transition>

//style(css)
.v-enter {
  opacity: 0;
  transform: translateX(100%);
}

.v-leave-to {
  opacity: 0;
  transform: translateX(-100%);
  position: absolute;
}

.v-enter-active,
.v-leave-active {
  transition: all 0.5s ease;
}

过渡的css类名

v-enter: 定义进入过渡的开始状态
v-enter-active: 定义进入活动状态
v-enter-to: 定义进入的结束状态
v-leave: 定义离开过渡的开始状态
v-leave-active: 定义离开活动状态
v-leave-to: 定义离开的结束状态

使用name属性改变类名前缀

这里的name添加在transition中,示例如下:
如果添加 ,那么下面的过度的类,就是fade-开头,别的不变

路由过度效果

过度模式

in-out: 新元素先进行过渡,完成之后当前元素过渡离开

out-in: 当前元素先进行过渡,完成之后新元素过渡进入

transition中的钩子函数

1
2
3
4
5
6
7
8
9
10
11
12
13
<transition
  v-on:before-enter="beforeEnter"
  v-on:enter="enter"
  v-on:after-enter="afterEnter"
  v-on:enter-cancelled="enterCancelled"

  v-on:before-leave="beforeLeave"
  v-on:leave="leave"
  v-on:after-leave="afterLeave"
  v-on:leave-cancelled="leaveCancelled"
>
  <!-- ... -->
</transition>

示例|:点击加入购物车的动画,目前正在做……

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(30) 打赏

支付宝扫一扫打赏

微信扫一扫打赏

上一篇:

下一篇:

相关推荐

0 条评论关于"利用vue-router中的transition添加切换动画"

最新评论

    暂无留言哦~~

博客简介

国瑞个人博客: https://www.huanggr.cn/,我们关注Web前端开发技术,web前端开发,移动前端开发,前端资讯,同时分享前端资源和工具等,期待你的参与,了解更多..

博主独立研发主题:

广告

广告

广告

广告

精彩评论

广告

站点统计

  • 文章总数: 334 篇
  • 草稿数目: 86 篇
  • 分类数目: 28 个
  • 独立页面: 5 个
  • 评论总数: 109 条
  • 链接总数: 10 个
  • 标签总数: 111 个
  • 注册用户: 176 人
  • 访问总量: 8,667,964 次
  • 最近更新: 2021年7月21日
服务热线:
 

 QQ在线交流

 旺旺在线