vue中路由跳轉傳參數有多種,本身經常使用的是下面的幾種html
- 經過
router-link
進行跳轉- 經過編程導航進行路由跳轉
1. router-linkvue
<router-link :to="{ path: 'yourPath', params: { name: 'name', dataObj: data }, query: { name: 'name', dataObj: data } }"> </router-link> 1. path -> 是要跳轉的路由路徑,也能夠是路由文件裏面配置的 name 值,二者均可以進行路由導航 2. params -> 是要傳送的參數,參數能夠直接key:value形式傳遞 3. query -> 是經過 url 來傳遞參數的一樣是key:value形式傳遞 // 2,3兩點皆可傳遞
2. $router方式跳轉編程
// 組件 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', dataObj: this.msg } /*query: { name: 'name', dataObj: 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.dataobj // 將數據放在當前組件的數據內 this.msg = routerParams } }, watch: { // 監測路由變化,只要變化了就調用獲取路由參數方法將數據存儲本組件便可 '$route': 'getParams' } } </script> <style scoped></style>