当前位置: 首页 > article >正文

Vue3入门(8)

1 【嵌套路由】

 (1)编写`News`的子路由:`Detail.vue`

 (2)配置路由规则,使用`children`配置项:

   const router = createRouter({

     history:createWebHistory(),

    routes:[

      {

        name:'zhuye',

        path:'/home',

        component:Home

      },

      {

        name:'xinwen',

        path:'/news',

        component:News,

        children:[

          {

            name:'xiang',

            path:'detail',

            component:Detail

          }

        ]

      },

      {

        name:'guanyu',

        path:'/about',

        component:About

      }

    ]

   })

   export default router

 (3) 跳转路由(记得要加完整路径):

   <router-link to="/news/detail">xxxx</router-link>

   <!-- 或 -->

   <router-link :to="{path:'/news/detail'}">xxxx</router-link>

  (4)记得去`Home`组件中预留一个`<router-view>`

 

 <template>

     <div class="news">

       <nav class="news-list">

         <RouterLink v-for="news in newsList" :key="news.id" :to="{path:'/news/detail'}">

           {{news.name}}

         </RouterLink>

       </nav>

       <div class="news-detail">

         <RouterView/>

       </div>

     </div>

   </template>

2. 【路由传参】

   query参数

 (1). 传递参数

 <!-- 跳转并携带query参数(to的字符串写法) -->

      <router-link to="/news/detail?a=1&b=2&content=欢迎你">

        跳转

      </router-link>

             

      <!-- 跳转并携带query参数(to的对象写法) -->

      <RouterLink

        :to="{

          //name:'xiang', //用name也可以跳转

          path:'/news/detail',

          query:{

            id:news.id,

            title:news.title,

            content:news.content

          }

        }"

      >

        {{news.title}}

      </RouterLink>

(2). 接收参数:

      import {useRoute} from 'vue-router'

      const route = useRoute()

      // 打印query参数

      console.log(route.query)

params参数

 (1). 传递参数

     

<!-- 跳转并携带params参数(to的字符串写法) -->

      <RouterLink :to="`/news/detail/001/新闻001/内容001`">{{news.title}}</RouterLink>

             

      <!-- 跳转并携带params参数(to的对象写法) -->

      <RouterLink

        :to="{

          name:'xiang', //用name跳转

          params:{

            id:news.id,

            title:news.title,

            content:news.title

          }

        }"

      >

        {{news.title}}

      </RouterLink>

(2). 接收参数:

      import {useRoute} from 'vue-router'

      const route = useRoute()

      // 打印params参数

      console.log(route.params)

备注1:传递`params`参数时,若使用`to`的对象写法,必须使用`name`配置项,不能用`path`。

 备注2:传递`params`参数时,需要提前在规则中占位。

3. 【路由的props配置】

作用:让路由组件更方便的收到参数(可以将路由参数作为`props`传给组件)

{

  name:'xiang',

  path:'detail/:id/:title/:content',

  component:Detail,



  // props的对象写法,作用:把对象中的每一组key-value作为props传给Detail组件

  // props:{a:1,b:2,c:3},



  // props的布尔值写法,作用:把收到了每一组params参数,作为props传给Detail组件

  // props:true



  // props的函数写法,作用:把返回的对象中每一组key-value作为props传给Detail组件

  props(route){

    return route.query

  }

}


http://www.kler.cn/a/452219.html

相关文章:

  • 【Nginx系列】---Nginx配置tcp转发
  • 美国辅料查询之FDA批准药用辅料数据库(IID数据库)
  • 给bmp和png,设置BLENDFUNCTION的AlphaFormat不同参数的效果
  • WebPack3项目升级webpack5的配置调试记录
  • 基于Spring Boot的工商局商家管理系统
  • 778-批量删除指定文件夹下指定格式文件(包含子孙文件夹下的)
  • THREE.js 入门(六) 纹理、uv坐标
  • 深入探索 npm cache clean --force:清理 npm 缓存的艺术
  • Python + 深度学习从 0 到 1(03 / 99)
  • Pyside6 在 pycharm 中的配置
  • 数据库 SQL 常用语句全解析
  • 瑞吉外卖项目学习笔记(八)修改菜品信息、批量启售/停售菜品
  • Matplotlib中隐藏坐标轴但保留坐标轴标签的3D图
  • 面经zhenyq
  • 图像处理-Ch5-图像复原与重建
  • 前端取Content-Disposition中的filename字段与解码(vue)
  • 「Java EE开发指南」如何用MyEclipse构建一个Web项目?(一)
  • 【Select 语法全解密】.NET开源ORM框架 SqlSugar 系列
  • CPU架构的变化史
  • 用Python写炸金花游戏
  • CoinShares预测2025年加密市场前景看涨
  • 【k8s】在ingress-controlller中Admission Webhook 的作用
  • 批量识别工作表中二维码信息-Excel易用宝
  • 【UE5 C++课程系列笔记】11——FString、FName、FText的基本使用
  • C 语言基础运算:输入两个整数并计算和、差、积
  • Python:模拟(包含例题:饮料换购 图像模糊 螺旋矩阵)