美文网首页
路由的query传参

路由的query传参

作者: 冰点雨 | 来源:发表于2022-05-31 10:45 被阅读0次
3d6de6120992b92dba311b71a7ef5cc.png

使用

跳转路由并携带query参数,to的字符串写法:

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

跳转路由并携带query参数,to的对象写法:

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

接收

<li>消息编号:{{ $route.query.id }}</li>
<li>消息标题:{{ $route.query.title }}</li>

除了以下文件,其他都和多级路由一样

index.js

// 该文件专门用于创建整个项目的路由器
import VueRouter from 'vue-router'
// 引入组件
import About from '../pages/About'
import Home from '../pages/Home'
import News from '../pages/News'
import Messages from '../pages/Messages'
import Detail from '../pages/Detail'

//创建并暴露一个路由器
export default new VueRouter({
  routes: [
    {
      path: '/about',
      component: About
    },
    {
      path: '/home',
      component: Home,
      children: [
        {
          path: 'news',
          component: News
        },
        {
          path: 'message',
          component: Messages,
          children: [
            {
              path: 'detail',
              component: Detail
            }
          ]
        },
      ]
    }
  ]
})

Message.vue

<template>
  <div>
    <ul>
      <li v-for="msg in messageList" :key="msg.id">
        <!-- 跳转路由并携带query参数,to的字符串写法 -->
        <!-- <router-link
          :to="`/home/message/detail?id=${msg.id}&title=${msg.title}`"
          >{{ msg.title }}</router-link
        >&nbsp;&nbsp; -->

        <!-- 跳转路由并携带query参数,to的对象写法 -->
        <router-link
          :to="{
            path: '/home/message/detail',
            query: {
              id: msg.id,
              title: msg.title,
            },
          }"
          >{{ msg.title }}</router-link
        >&nbsp;&nbsp;
      </li>
      <hr />
      <router-view></router-view>
    </ul>
  </div>
</template>

<script>
export default {
  name: 'About',
  data() {
    return {
      messageList: [
        { id: '001', title: '消息001' },
        { id: '002', title: '消息002' },
        { id: '003', title: '消息003' },
      ],
    }
  },
}
</script>

Detail.vue

<template>
  <ul>
    <li>消息编号:{{ $route.query.id }}</li>
    <li>消息标题:{{ $route.query.title }}</li>
  </ul>
</template>

<script>
export default {
  name: 'Detail',
  mounted() {},
}
</script>

相关文章

  • 路由传参 query 和 params

    vue路由传参分为两种情况: 一、query和params传参的区别: 1、query传参显示参数,params传...

  • vue路由传参.md

    两种传参方法 1.命名路由传参(name, params方式) 2.路由路径传参(path, query方式...

  • vue-router传参

    1.params params传参 2.router-link query传参 3.路由传参

  • vue 路由传参的三种方式

    vue路由传参方式 params query vuex + sessionStore

  • 31.vue传参

    1.vue传参 vue传参使用路由传参params,query,或者使用vuex,localStorage,vue...

  • react的动态路由

    1. 动态路由传参 建议用这个,刷新不会丢 2 query传参 3. state传参

  • vue路由传参的三种方法

    一、直接在路由中写参数 二、通过prams传参 三、通过query传参

  • vue路由传参梳理

    前言 vue路由传参有两种类型,query,params,这篇文章梳理一下。 一、query 1 传参 1.1 声...

  • vue - 路由带参跳转

    vue路由传参按照传参方式可划分为params传参和query传参; params传参分为在url中显示和影藏参数...

  • vue项目小问题集锦

    1、路由传参: params传参,刷新会被刷掉 query刷新不掉 storage最老实的办法 vuex也可 2、...

网友评论

      本文标题:路由的query传参

      本文链接:https://www.haomeiwen.com/subject/uzpjdrtx.html