Vue知识点:路由的query参数

//router >>> index.js
export default new VueRouter ({
   routes:[
      {
         path: '/about',
         component: About
      },
      {
         path: '/home',
         component: Home,
         children:[
            {
               path: 'news',
               component: News
            },
            {
               path: 'message',
               component: Message,
               children:[
                  {
                     path: 'detail',
                     component: Detail
                  }
               ]
            },
         ]
      }
   ]
})
//Message.vue
 <template>
    <div>
       <ul>
          <li v-for="m in messageList" :key="m.id">
             // 跳转路由并携带query参数,to的字符串写法
             <router-link 
                :to="`home/message/detail?id=${m.id}&title=${m.title}`">
                {{ m.title }}
             </router-link>
             // 跳转路由并携带query参数,to的对象写法
             <router-link 
                :to="{
                   path: 'home/message/detail',
                   query: {
                      id: m.id,
                      title: m.title
                   }
                }">
                {{ m.title }}
             </router-link>
          </li>
       </ul>
       <hr>
       <router-view></router-view>
    </div>
 </template>

<script>
   export default {
      name: 'Message',
      data() {
         return {
            messageList:[
               {
                  id: '001',
                  title: '消息111111'
               },
               {
                  id: '002',
                  title: '消息222222'
               },
               {
                  id: '003',
                  title: '消息333333'
               }
            ]
         }
      }
   }
</script>
//Detail.vue
<template>
   <div>
      <ul>
         <li>消息编号:{{ $route.query.id }}</li>
         <li>消息标题:{{ $route.query.title }}</li>
      </ul>
   </div>
</template>

<script>
export default {
   name: 'Detail',
   data() {
      mounted(){
      console.log(this.$route)
      }
   }
}
</script>

总结:
1. 传递参数
(1). // 跳转路由并携带query参数,to的字符串写法

<router-link 
    :to="`home/message/detail?id=${m.id}&title=${m.title}`">
    {{ m.title }}
</router-link>

(2).// 跳转路由并携带query参数,to的对象写法

<router-link 
    :to="{
       path: 'home/message/detail',
       query: {
          id: m.id,
          title: m.title
       }
    }">
    {{ m.title }}
</router-link>

2.接受参数

 $route.query.id
 $route.query.title
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值