vue路由params和query传参区别

野性酷女 2023-07-10 14:11 86阅读 0赞

params和query传参方式

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <div id="app">
  10. <router-link to="/home">首页</router-link>
  11. <router-link to="/nav">导航</router-link>
  12. <router-link to="/about">关于</router-link>
  13. <!-- params传参有两种,一种是声明式传参,另外一种是下文的编程式传参,都是以命名路由的方式实现 -->
  14. <!-- 1.params声明式传参 -->
  15. <!-- <router-link :to="{name:'about',params:{name:'cxc}}">关于</router-link> -->
  16. <router-view></router-view>
  17. </div>
  18. <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  19. <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
  20. <script>
  21. let Home = {
  22. template: `<div> 我是首页 </div>`
  23. }
  24. let Nav = {
  25. template: `<div> 我是导航 <button @click="handle()">点击去往About页面</button> </div>`,
  26. methods: {
  27. handle() {
  28. // 2.params编程式传参
  29. this.$router.push({ name: 'about', params: { name: 'cxc' } })
  30. // query传参 url地址栏以?name=cxc键值对的方式显示
  31. this.$router.push({ path: '/about', query: { name: 'cxc' } })
  32. }
  33. }
  34. }
  35. let About = {
  36. template: `<div>我是关于</div>`
  37. }
  38. let router = new VueRouter({
  39. routes: [
  40. { path: '/', redirect: '/home' },
  41. { path: '/home', component: Home },
  42. { path: '/nav', component: Nav },
  43. //动态绑定路由
  44. { path: '/about/:name', component: About, name: 'about' }
  45. ]
  46. })
  47. let vm = new Vue({
  48. el: '#app',
  49. data: { },
  50. router,
  51. methods: { }
  52. })
  53. </script>
  54. </body>
  55. </html>

发表评论

表情:
评论列表 (有 0 条评论,86人围观)

还没有评论,来说两句吧...

相关阅读