vue路由設置路由參數有2種方式:
1.通過query配置:
<router-link :to="{ name:'login',query:{id:1} }">登錄</router-link>
通過query配置的路徑顯示如下:
2.通過params配置:
<router-link :to="{ name:'register',params:{'name':'San'} }">注冊</router-link>
通過query配置的路徑顯示如下:
通過該方法配置的參數,需要在配置路由的時候給參數留個坑,如下圖:
獲取路由參數的方法:
1.通過query配置的:
this.$route.query
2.通過params配置的:
this.$route.params
相關代碼:
<!DOCTYPE html> <html lang="en"> <head> <title>路由參數</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <body> <div id="app"> </div> <script src="https://cdn.bootcss.com/vue/2.5.15/vue.js"></script> <script src="js/vue-router.js"></script> <script> var Login = { template:`<div>我是登錄頁面</div>`, created() { console.log(this.$route.query) }, } var Register = { template:`<div>我是注冊頁面</div>`, created() { console.log(this.$route.params) }, } Vue.use(VueRouter); var router = new VueRouter({ routes:[ {name:'login',path:'/login',component:Login}, //通過params傳遞的路由參數需要用 :參數名 來占個坑 {name:'register',path:'/register/:name',component:Register} ] }); var App = { template:` <div> <router-link :to="{ name:'login',query:{id:1} }">登錄</router-link> <router-link :to="{ name:'register',params:{'name':'San'} }">注冊</router-link> <router-view></router-view> </div> ` } var vm = new Vue({ el: '#app', router:router, components: { app:App }, template:`<app></app>` }); </script> </body> </html>
補充說明:
$route:路由信息對象,只讀對象;
$router:路由操作對象 ,只寫對象。