方式一:通过name
和params
传递参数。
首先看一下效果:
在当前页面中:
<template>
<div>
<TestNum msg="测试页面" />
<button @click="gogo">跳转</button>
</div>
</template>
<script>
import TestNum from '@/components/textNum.vue'
export default {
name: 'Test',
components: {
TestNum
},
methods: {
gogo () {
this.$router.push({
name: 'Skip',
params: {
name: '张三',
age: 22,
sex: '男',
id: 1
}
})
}
}
}
</script>
跳转到指定页面后:
<template>
<div>
<p>你跳转到了当前页面</p>
<button @click="ret">返回</button>
<button @click="param">获取传递的参数</button>
<p>名字: {{name}}</p>
<p>年龄: {{age}}</p>
<p>性别: {{sex}}</p>
<p>名字id: {{id}}</p>
</div>
</template>
<script>
export default {
data () {
return {
name: '',
age: '',
sex: '',
id: ''
}
},
methods: {
ret () {
this.$router.push('/Test')
},
param () {
var params = this.$route.params
this.name = params.name
this.age = params.age
this.sex = params.sex
this.id = params.id
}
}
}
</script>
方式二:通过path
和query
传递参数
将上方代码中的name
和params
替换成path
和query
就可以了,
在当前页面中如下:
methods: {
gogo () {
this.$router.push({
path: '/Skip',
query: {
name: '张三',
age: 22,
sex: '男',
id: 1
}
})
}
}
在跳转后的页面如下:
param () {
var params = this.$route.query
this.name = params.name
this.age = params.age
this.sex = params.sex
this.id = params.id
}