路由过渡动画就是在切换路由的时候加点动画效果,这里就是把router-view用transition包起来,然后给他个name叫fade, 然后fade有四个类名,就通过这四个类名给路由加动画即可,更酷炫的效果需要有css和js功底,当然也可以用插件,然后还有个mode属性,他只有两个值,一个是in-out一个是out-in顾名思义就知道什么意思了,这里我们用out-in更好看一点
重定向
重定向实质上就是在路径不同的情况下我想跳转到同一页面的需求,下面将展示传参数和不穿参数的两种重定向,操作很简单,在index.js中就是把想要定位的路径复制到redirect里
URL传值
虽然现在前后端分离,之间的数据传递用接口,但是url传值方法还是很常用的
第一步:在index.js文件的路径中添加想传的值
1 | { |
可以看到我只需要在path后加:/就好,同时还用()方式在里面加了个正则表达式,规定只允许传递过来的是数字,当非数字时就不显示
第二步:在App.vue中通过router-link传递值
1 | <router-link to="/Hi/12/hhhhhh">Hi</router-link> |
注意到,我的id传的是数字才行
第三步:在Hi.vue中接收值
1 | <p>{{ $route.params.newsId}}</p> |
特别要注意的是,只能是params,别写成Hi了,因为在vue中params就是用来传参数的量
参数传递
vue-router中提供了两种传参方式,一种是name传递法,另一种是绑定to的传递方法。第一种不常用,因为第一种的name实际上用在第二种的参数上
子路由
子路由的应用可以说还是很广的,也就是说当我给某个组件设置了子路由,那么每当我点击这个子路由,这个组件都会显示,就好像淘宝里的推荐,当我选中一类时他会给你推荐相似的,而我这一类会一直留在界面上,只是在下面展示我的各个子路由,下面就来操作一下子路由的配置方法
第一步: 还是新建新的组件,就不多说了
第二步:去到要配置子路由的组件
1 | <template> |
一定一定要注意我们引入路由机制的这个标签位置很重要,他必须写在一个有内容的的大标签里(这里是div),不然你一写这个标签就会疯狂报错
第三步:去index.js配置
1 | import Vue from 'vue' |
首先:一定要import
然后就去写子路由器配置了,他是写在指定的那个component底下,他也是个数组,根据每个路由都是一个对象相应的去写,因为现在还用不上name,所以这里先省略了name,特别要注意的是,path的写法,后两个是没有/的
第四步:去入口文件App.vue改写模板
1 | <div> |
实际上就是加了后两行
vue-router
vue-router是vue的很重要的一部分,他不是物理的那种路由器啊啥的,可以把他理解为像a标签,但是因为vue-cli开发出来的实际上是单页面应用,所以用a标签是不够用的,因此vue帮我们配置了这么一个功能,首先就先了解一下要用到的几个重要文件
自定义组件
1 | <div id="app"> |
实例事件
在构造器外添加事件$on
1 | <div id="app"> |
once事件$once
1 | <p><button onclick="reduceOnce()">reduceOnce</button></p> |
1 | app.$once('reduceOnce',function(){ |
off事件$off
1 | <p><button onclick="off()">off</button></p> |
1 | function off(){ |