您好,登錄后才能下訂單哦!
這篇“vue-router傳參的方式是什么”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“vue-router傳參的方式是什么”文章吧。
Vue Router 是 Vue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,讓構建單頁面應用變得易如反掌。包含的功能有:
嵌套的路由/視圖表
模塊化的、基于組件的路由配置
路由參數、查詢、通配符
基于 Vue.js 過渡系統的視圖過渡效果
細粒度的導航控制
帶有自動激活的 CSS class 的鏈接
HTML5 歷史模式或 hash 模式,在 IE9 中自動降級
自定義的滾動條行為
vue-router傳參兩種方式:params和query
params、query是什么?
params:/router1/:id ,/router1/123,/router1/789 ,這里的id叫做params
query:/router1?id=123 ,/router1?id=456 ,這里的id叫做query。
方法1:
query 方式傳參和接收參數
傳參:
this.$router.push({ path:'/openAccount', query:{id:id} });
接收參數:
this.$route.query.id
注意:傳參是this.$router,接收參數是this.$route
兩者區別:
$router為VueRouter實例,想要導航到不同URL,則使用$router.push方法
$route為當前router跳轉對象,里面可以獲取name、path、query、params等
方法2:
params方式傳參和接收參數
傳參:
this.$router.push({ name:'/openAccount', params:{ id: id } })
接收參數: this.$route.params.id
注意:params傳參,push里面只能是 name:'xxxx',不能是path:'/xxx',因為params只能用name來引入路由,如果這里寫成了path,接收參數頁面會是undefined!!!
二者還有點區別,可以理解為:query相當于get請求,頁面跳轉的時候,可以在地址欄看到請求參數,而params相當于post請求,參數不會再地址欄中顯示
router.js
export default new Router({ routes: [ { path: '/', name: 'login', component: Login }, { path: '/register', name: 'register', component: Register } })
組件(傳參):
<template> <div class="hello"> <h2>{{ msg }}</h2> <button @click="routerTo">click here to news page</button> </div> </template> <script> export default { name: 'HelloWorld', data () { return { msg: 'Welcome to Your Vue.js App' } }, methods:{ routerTo(){ this.$router.push({ name: 'register', params: { userId: 123 }});//params方式 這里的name值是在定義route.js時中的name //this.$router.push({ path: '/register', query: { userId: 123 }}); //query方式 } } } </script> <style> </style>
組件(接收參數)
<template> <div> {{this.$route.params.userId}}或者{{this.$route.params.userId}} </div> </template> <script> </script>
以上就是關于“vue-router傳參的方式是什么”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。