您好,登錄后才能下訂單哦!
這篇文章主要介紹“vue-router傳參的方式有哪些及怎么實現”,在日常操作中,相信很多人在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是一套用于構建用戶界面的漸進式JavaScript框架,Vue與其它大型框架的區別是,使用Vue可以自底向上逐層應用,其核心庫只關注視圖層,方便與第三方庫和項目整合,且使用Vue可以采用單文件組件和Vue生態系統支持的庫開發復雜的單頁應用。
到此,關于“vue-router傳參的方式有哪些及怎么實現”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。