vue路由跳转的三种方式
vue路由跳转的三种方式是怎样的呢?下面就让我们一起来了解一下吧:
1、router-link,这属于实现跳转最简单的方式。
<router-link to='需要跳转到的页面的路径>
浏览器在解析时,会将它解析成一个类似于<a> 的标签。
div和css样式略
<li >
<router-link to="keyframes">点击验证动画效果 </router-link>
</li>
不要忘记了给需要跳转的路径在需要提前在router/index.js下引入。
2、this.$router.push({ path:’/user’})
常常用于路由传参,用法与第三种相似。
区别是:
1.query引入方式
params只可以用name来引入路由。
而query需要用path引入。
2.query传递方式
与ajax中get传参类似,在浏览器地址栏中显示参数。
params则类似于post,在浏览器地址栏中不显示参数。
在helloworld.vue文件中
<template>
.....
<li @click="change">验证路由传参</li>
</template>
<script>
export default {
data () {
return {
id:43, //需要传递的参数
}
},
methods:{
change(){
this.$router.push({ //核心语句
path:'/select', //跳转的路径
query:{ //路由传参时push和query搭配使用 ,作用时传递参数
id:this.id ,
}
})
}
}
}
</script>
在select.vue文件中
<template>
<select>
<option value="1" selected="selected">成都</option>
<option value="2">北京</option>
</select>
</template>
<script>
export default{
data(){
return{
id:'',
}
},
created(){ //生命周期里接收参数
this.id = this.$route.query.id, //接受参数关键代码
console.log(this.id)
}
}
</script>
当然也可以在使用的标签中通过v-if = ‘id == 1’或是else-if = 'id == 2'等进行区分拼接。
3、this.$router.replace{path:‘/’ }类似,就不做过多的介绍了。