前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(八)获取Query查询参数 和 命名路由精确控制跳转

(八)获取Query查询参数 和 命名路由精确控制跳转

作者头像
老怪兽
发布2023-02-22 18:32:35
6460
发布2023-02-22 18:32:35
举报
获取Query查询参数

说明

有好多应用,后端给我们返回的不都是以 / 分割的参数,好多都是以 ? 开头分割的参数

一、解析 Query 字符串
  • 访问 query
代码语言:javascript
复制
this.$toute.query
使用命名路由精确控制跳转

说明

我们通过前面的学习发现了,难免会应为命名的优先级情况出现匹配错误的问题,为了解决这个问题,vueRouter 给我们命名路由的时候提供了 name

:::

  • router 取名
代码语言:javascript
复制
cosnt routes = [{
    path: '/posts/:id',
    name: 'post',
    component: BolgPostPage
}]
  • 使用 router 取名
代码语言:javascript
复制
// 名字要和 route 取的名字一样
<router-link :to="{name: 'post'}">
内容详情页
</router-link>

// 传递 params,query 参数
<router-link 
    :to="{
        name: 'post', 
        params: {id: 50, name: '张三'},
        query: {order: 'desc', gender: '男'}
    }"
>
内容详情页
</router-link>

以上这种方式就叫做命名路由

一、使用场景
代码语言:javascript
复制
import BlogPostPage from "./pages/BlogPostPage.vue";
import UserDetailsPage from "./pages/UserDetailsPage.vue";

import { createRouter, createWebHistory } from "vue-router";

const routes = [
  {
    // path: "/posts/:id",
    path: "/:id",
    name: "post",
    component: BlogPostPage,
  },
  {
    // path: "/users/:id",
    path: "/:id",
    name: "userDetails",
    component: UserDetailsPage,
  },
];

const router = createRouter({
  history: createWebHistory(),
  routes,
});

export default router;

以上这种编写方式是故意写成了有歧义的路由,但是因为我们是通过命名路由的方式来访问路由的所以他会精确的找到自己所需要的路由

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022年11月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 获取Query查询参数
  • 一、解析 Query 字符串
  • 使用命名路由精确控制跳转
  • 一、使用场景
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档