组件名
from 组件路径
<router-link to " 'path' "></router-link> //path是路由配置里面的路径
<router-view/>
标签<router-view/>
的作用是为子组件提供插入位置,<router-view/>
也可以设置一些css样式。children
字段,具体使用方法如下:children:[
{path:'/',component:'父组件'},
{path:'/子组件',component:'子组件'},
{path:'/子组件',component:'子组件'}
]
<router-link></router-link>
标签来传递参数,如下:<router-link :to="{name:'组件名',params:{参数值,采用键值对形式,例如:username:'jieyuhua'}}"></router-link>
键名
来接受参数,如下{{$route.params.username}}
{
path:'/params/:newsId/:newsTitle',
component:Params
}
<template>
<div>
<h2>{{ msg }}</h2>
<p>新闻ID:{{ $route.params.newsId}}</p>
<p>新闻标题:{{ $route.params.newsTitle}}</p>
</div>
</template>
<script>
export default {
name: 'params',
data () {
return {
msg: 'params page'
}
}
}
</script>
<router-link to="/params/198/jspang website is very good">params</router-link>
{
path:" '需要重定向的目标路径' ",
redirect:"/"
}
<router-link to=" '上一步路由中配置的路径' "></router-link>
重定向的路径中也可以传递参数//在routes中配置:
{
path:" '别名所绑定的路径' ",
component:`路径对应的组件名`,
alisa:'别名'
}
<router-view />
标签外部嵌套一个<transition name="动画名" mode="out-in"></transition>
标签,然后在文件的<style></style>
标签内写入动画的变换效果,<transition></transition>
标签的使用方法:vue的动画组件。mode:'history'
就会发现访问路径中的#号消失了,当然上面的<transition></transition>
标签中也使用了mode
其中out-in
带表动画是按照离开-进入
的方式。beforeRouteEnter:(to,from,next)=>{}
进入路由前的钩子函数beforeRouteLeave:(to,from,next)=>{}
离开路由前的钩子函数{
path:'http://xxxx.xx.xx',
component:test,
beforeRouteEnter:(to,from,next)=>{
//to代表路由将要跳转的路径信息,信息包含在对象中
//from代表路由跳转前的路径信息,信息包含在对象中
//next更像是一个开关,一般用true和false控制子路由的跳转是否要开启
next();
}
}
export default{
name:'test',
data(){
return{
msg:"hello windy!"
}
},
beforeRouteEnter:(to,from,next)=>{
console.log("准备进入路由模板");
next();
},
beforeRouteLeave:(to,from,next)=>{
console.log("准备离开路由模板");
next();
}
}
前面都是通过<router-link></router-link>跳转页面,而编程式导航实在业务逻辑中实现页面的跳转
methods
中实现编程式导航,示例代码如下:methods:{
goback(){
this.$router.go(-1);//控制导航退回上一级
},
go(){
this.$router.go(1);//控制导航前进一级
},
gohome(){
this.$router.push('/');//控制导航返回首页面
}
}