經常使用路由跳轉方式javascript
router-linkhtml
<router-link :to="{ path: 'yourPath', params: { name: 'name', data: data }, query: { name: 'name', data: data } }">
</router-link>
1. path -> 是要跳轉的路由路徑,也能夠是路由文件裏面配置的 name 值,二者均可以進行路由導航
2. params -> 是要傳送的參數,參數能夠直接key:value形式傳遞
3. query -> 是經過 url 來傳遞參數的一樣是key:value形式傳遞
// 2,3兩點皆可傳遞
複製代碼
$router方式跳轉java
// 組件 a
<template>
<button @click="sendParams">傳遞</button>
</template>
<script>
export default {
name: '',
data () {
return {
msg: 'test message'
}
},
methods: {
sendParams () {
this.$router.push({
path: 'yourPath',
name: '要跳轉的路徑的 name,在 router 文件夾下的 index.js 文件內找',
params: {
name: 'name',
data: this.msg
}
/*query: {
name: 'name',
data: this.msg
}*/
})
}
},
computed: {
},
mounted () {
}
}
</script>
<style scoped></style>
----------------------------------------
// 組件b
<template>
<h3>msg</h3>
</template>
<script>
export default {
name: '',
data () {
return {
msg: ''
}
},
methods: {
getParams () {
// 取到路由帶過來的參數
let routerParams = this.$route.params.data
// 將數據放在當前組件的數據內
this.msg = routerParams
}
},
watch: {
// 監測路由變化,只要變化了就調用獲取路由參數方法將數據存儲本組件便可
'$route': 'getParams'
}
}
</script>
<style scoped></style>
複製代碼