当前位置:首页 » 《随便一记》 » 正文

vue-router 传参:query传参、params传参

9 人参与  2023年04月23日 14:58  分类 : 《随便一记》  评论

点击全文阅读


文章目录

一、query传参1、创建文件2、文件配置(按顺序展示,非一次性展示)3、运行 二、params传参1、文件配置2、运行3、传多个数据4、params对象方式传参


一、query传参

(query传参演示在二级路由基础上演示,二级路由参考:vue-router 路由创建、路由嵌套、二级路由)

1、创建文件

创建出以下文件(新创建文件为Desc.vue文件)(二级路由文件下载链接:链接:https://pan.baidu.com/s/1Tny4Erp6iPCsrmrIX_QRCA
提取码:3524)
在这里插入图片描述

2、文件配置(按顺序展示,非一次性展示)

1、Desc.vue 文件

<template>  <h3>详情页面</h3></template><script>export default {  name: 'DESC'}</script><style></style>

2、index.js 写入路由

import Vue from 'vue'import VueRouter from 'vue-router'import HomeView from '../views/HomeView.vue'import Course from '../views/Course.vue'import Desc from '../views/Desc.vue'Vue.use(VueRouter)const routes = [  {    path: '/',    name: 'Home',    component: HomeView  },  {    path: '/course',    name: 'Course',    component: Course,    // 二级路由    children: [{      path: '/desc',      component: Desc    }]  }]const router = new VueRouter({  routes})export default router

3、Course.vue 写入数据

<template>  <nav>    <ul>      <li v-for="c in courseList" :key="c.id">          <router-link to="/desc">{{c.name}}</router-link> |      </li>    </ul>    <hr />    <router-view />  </nav></template><script>// 导出export default {  name: 'CourseItem',  data () {    return {      courseList: [{        id: 1,        name: 'HTML'      },      {        id: 2,        name: 'CSS'      },      {        id: 3,        name: 'JQUERY'      }]    }  }}</script><!-- scoped 样式作用域   lang 样式(css less sass) --><style scoped="scoped">/* scoped 作用于本页面 */nav {  padding: 30px;}nav a {  font-weight: bold;  color: #d66363;}nav a.router-link-exact-active {  color: #00ff8c;}li {    list-style: none;    display:inline;}</style>

4、Couser.vue 拿到数据

两种方式

<template>  <nav>    <ul>          <li v-for="c in courseList" :key="c.id">          <!-- query 传参 方式一 -->          <!-- 使用v-bind 模板字符串拿到c.name -->          <!-- <router-link :to="`/desc?name=${c.name}`">{{c.name}}</router-link> | -->          <!-- query 传参 方式二 以对象方式传参 -->          <router-link :to="{                path:'/desc',                query:{                    name:c.name                }                }">{{c.name}}</router-link> |      </li>    </ul>    <hr />    <router-view />  </nav></template>

5、Desc.vue 获取数据
部分修改

<template><!-- {{this.$route}}拿到index.js路由对象 -->  <h3>{{this.$route.query.name}}详情页面</h3></template><script>export default {  name: 'DESC'}</script><style></style>

在这里插入图片描述

3、运行

在这里插入图片描述
在这里插入图片描述

二、params传参

在query的基础上修改

1、文件配置

1、Course.vue

<template>  <nav>    <ul>      <li v-for="c in courseList" :key="c.id">          <!-- params 传参 方式一 -->          <router-link :to="`/desc/${c.name}`">{{c.name}}</router-link> |      </li>    </ul>    <hr />    <router-view />  </nav></template>

2、index.js

const routes = [  {    path: '/',    name: 'Home',    component: HomeView  },  {    path: '/course',    name: 'Course',    component: Course,    // 二级路由    children: [{      path: '/desc/:name',      component: Desc    }]  }]

3、Desc.vue

<template><!-- {{this.$route}}拿到index.js路由对象 -->  <h3>{{this.$route.params.name}}详情页面</h3></template>

2、运行

在这里插入图片描述

3、传多个数据

1、Course.vue

<router-link :to="`/desc/${c.name}/${c.id}`">{{c.name}}</router-link> |

2、index.js

{      path: '/desc/:name/:id',      component: Desc    }

3、Desc.vue

<template>  <div>    <!-- {{this.$route}}拿到index.js路由对象 -->    <h3>{{this.$route.params.name}}详情页面</h3>    <h3>ID:{{this.$route.params.id}}</h3>  </div></template>

4、运行
在这里插入图片描述

4、params对象方式传参

1、Course.vue
params对象方式传参不能使用path

<template>  <nav>    <ul>      <li v-for="c in courseList" :key="c.id">          <!-- params 传参 方式二 以对象方式传参 -->          <!-- 对象方式不能使用path,要用路由名称 -->          <router-link :to="{            name: 'Desc',            params:{                name:c.name,                id:c.id            }            }">{{c.name}}</router-link> |      </li>    </ul>    <hr />    <router-view />  </nav></template>

2、index.js
params对象传参要用name识别路径

const routes = [  {    path: '/',    name: 'Home',    component: HomeView  },  {    path: '/course',    name: 'Course',    component: Course,    // 二级路由    children: [{      name: 'Desc',      path: '/desc/:name',      component: Desc    }]  }]

3、Desc.vue

<template><!-- {{this.$route}}拿到index.js路由对象 -->  <h3>{{this.$route.params.name}}详情页面</h3></template>

4、运行


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/59971.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 苔藓爬满旧日诺言全书+后续+结局顾砚廷慕晚夏免费苔藓爬满旧日诺言全书+后续+结局顾砚廷慕晚夏全书全
  • [我掉蛇女马甲后,点天灯假死丈夫悔疯了]免费试读_婆婆丁若菱蛇女精彩节选推荐
  • 他日若是同淋雪结局+番外(夏尔若林闻舟)他日若是同淋雪结局+番外结局_夏尔若林闻舟列表_笔趣阁(他日若是同淋雪结局+番外)
  • 他心非石反转剧情试读片段_安茗宝宝心掏后续更新+番外
  • 许星森纪冰雪(日暮青山绿渐隐许星森纪冰雪结局+番外)_(许星森纪冰雪)列表_笔趣阁(日暮青山绿渐隐许星森纪冰雪结局+番外)
  • 全文潮痕蚀月光(池清禾***宸)列表_全文潮痕蚀月光
  • 「江月随人处处圆」小说无删减版在线免费阅读_[陆晨小姐孟苒]精彩章节免费试读
  • 阮雾梨闻砚辞阮见微结局+番外全书+后续+结局(闻砚辞阮雾梨)列表_阮雾梨闻砚辞阮见微结局+番外(闻砚辞阮雾梨)阮雾梨闻砚辞阮见微结局+番外全书+后续+结局在线
  • 潮痕蚀月光结局+番外池清禾***宸(潮痕蚀月光结局+番外)全书免费池清禾***宸_潮痕蚀月光结局+番外池清禾***宸列表_笔趣阁(池清禾***宸)
  • 苔藓爬满旧日诺言一口气读完全书+后续全书+后续+结局(慕晚夏顾砚廷)列表_苔藓爬满旧日诺言一口气读完全书+后续(慕晚夏顾砚廷)苔藓爬满旧日诺言一口气读完全书+后续全书+后续+结局在线
  • 「孕弟」反转剧情碎片化试读_[耀祖弟弟子宫]小说精彩节选试读
  • 旧梦随风去结局+番外(姜予宁沈昭寒)列表_旧梦随风去结局+番外(姜予宁沈昭寒)全书+后续+结局在线

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1