Vue3【二十二】Vue 路由模式的嵌套路由和用query给组件的RouterLink传参

news2024/12/26 21:40:41

Vue3【二十二】Vue 路由模式的嵌套路由和用query给组件传参

Vue3【二十二】Vue 路由模式的嵌套路由和用query给组件传参
RouterLink 的两种传参方法
RouterView

案例截图

在这里插入图片描述

目录结构

在这里插入图片描述

代码

index.ts

// 创建一个路由器,并暴漏出去

// 第一步:引入createRouter
import { createRouter, createWebHashHistory, createWebHistory } from 'vue-router'
// 引入各种组件 
import Home from '@/pages/Home.vue'
import About from '@/pages/About.vue'
import News from '@/pages/News.vue'
import Detail from '@/pages/Detail.vue'
// 第二步:创建路由器
const router = createRouter({
    // 配置路由模式 
    // createWebHistory history模式:url不带#号,需要后端做url适配 适合销售项目 利于seo
    // createWebHashHistory Hash模式:url 带#号,不需要url适配,比较适合后端项目 不利于seo
    history: createWebHistory(),
    // 配置路由规则
    routes: [
        // { path: '/', redirect: '/home' },
        // { path: '/home', component: Home },
        // { path: '/about', component: About },
        // { path: '/news', component: News }

        // 路由命名
        { path: '/', redirect: '/home' },
        { path: '/home', name: 'zhuye', component: Home },
        { path: '/about', name: 'guanyu', component: About },
        { 
            path: '/news', 
            name: 'xinwen',
            component: News,
            // 嵌套子路由
            children:[
                { path: 'detail', name: 'xiangqing', component: Detail }
            ]
        }
    ]
})

// 第三步:导出路由器
export default router

News.vue

<template>
    <div class="news">
        <!-- 导航区 -->
        <ul>
            <li v-for="news in newsList" :key="news.id">
                <!-- 第一种传参写法 -->
                <!-- <RouterLink :to="`/news/detail?id=${news.id}&title=${news.title}&content=${news.content}`"> {{ news.title }}</RouterLink> -->
                <!-- 第二种传参方法 -->
                <RouterLink :to="{
                    // path: '/news/detail',// 使用路径路由
                    name: 'xiangqing',// 使用名称路由
                    query: {
                        id: news.id,
                        title: news.title,
                        content: news.content
                    }
                }"> {{ news.title }}</RouterLink>
            </li>
        </ul>
        <!-- 展示区 -->
        <div class="news-content">
            <RouterView></RouterView>
        </div>
    </div>
</template>

<script setup lang="ts" name="About">
import { reactive } from 'vue';
import { RouterLink } from 'vue-router';

const newsList = reactive([
    {id: 1, title: '国家发展改革委建立全国政府和',content: '国家发展改革委办公厅近日印发了《关于建立全国政府和社会资本合作项目信息系统的通知》。通知指出,该信息系统的建立旨在做好项目信息统计,强化政府和社会资本合作项目监测分析,加强社会监督,提升公共产品质量和公共服务水平,确保规范发展、阳光运行。'},
    {id: 2, title: '中国人民银行召开保障性住房再',content: '中国人民银行近日召开了保障性住房再贷款工作推进会。会议强调,设立保障性住房再贷款,支持地方国有企业以合理价格收购已建成存量商品房用作保障性住房配售或租赁,是金融部门落实中共中央政治局关于统筹消化存量房产和优化增量住房、推动构建房地产发展新模式的重要举措。'},
    {id: 3, title: '教育部出台措施支持福建建设两',content: '教育部近日出台了《教育领域支持福建建设两岸融合发展示范区的若干措施》,主要涵盖支持台生在闽求学发展、支持台师在闽安居乐业、支持闽台深化教育交流、支持闽台高校深度合作、支持闽台职业教育产教融合、支持福建提供优质均衡教育服务等六方面20条举措。'},
    {id: 4, title: '文旅部公布22家国家级旅游度假',content: '文旅部近日发布了《关于确定22家旅游度假区为国家级旅游度假区的公告》。其中包括北京市密云古北水镇国际休闲旅游度假区、山西省晋城太行锡崖沟旅游度假区、内蒙古自治区兴安盟阿尔山旅游度假区等多地。'},
    {id: 5, title: '上海市新增5款完成备案的生成式',content: '上海市近日新增了5款已完成备案的生成式人工智能服务,截至目前,累计已完成34款生成式人工智能服务备案。这一进展显示了上海市在人工智能领域的持续发展和创新。'},
])
</script>

<style scoped>
.news {
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    height: 100%;
}
.news ul {
    margin-top: 30px;
    /* list-style: none; */
    padding-left: 10px
}
.news li > a {
    font-size: 16px;
    line-height: 40px;
    text-decoration: none;
    color: #333;
    text-shadow: 0 0 1px rgb(0, 84, 0);
}
.news-content{
    width: 70%;
    height: 90%;
    border: 1px solid;
    margin-top: 20px;
    border-radius: 10px;
}
</style>

Detail.vue

<template>
    <ul class="news-list">
        <!-- <li>编号:{{ route.query.id }}</li>
        <li>标题:{{ route.query.title }}</li>
        <li>内容:{{ route.query.content }}</li> -->
        <!-- 简写 -->
        <li>编号:{{ query.id }}</li>
        <li>标题:{{ query.title }}</li>
        <li>内容:{{ query.content }}</li>
    </ul>
</template>

<script setup lang="ts" >
import { toRefs } from 'vue';
import { useRoute } from 'vue-router'
let route = useRoute()

// 获取路由参数
let {query} = toRefs(route) // 直接解构会丢失响应式

</script>

<style scoped>
.news-list{
    list-style: none;
    padding-left: 20px;
}
.news-list > li{
    line-height: 30px;
}
</style>

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

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

相关文章

0613#111. 构造二阶行列式

时间限制&#xff1a;1.000S 空间限制&#xff1a;256MB 题目描述 小欧希望你构造一个二阶行列式&#xff0c;满足行列式中每个数均为不超过 20 的正整数&#xff0c;且行列式的值恰好等于x。你能帮帮她吗? 输入描述 一个正整数x。-1000 < x < 1000 输出描述 如果…

商家转账到零钱最全面攻略:申请、使用、注意事项等详解

一、微信商家转账到零钱功能概述 微信支付作为国内最大社交软件的增值服务&#xff0c;在商业活动中广泛使用。其开发的营销功能“商家转账到零钱”则允许商家直接将资金转入用户的微信钱包&#xff0c;操作简便快捷。本文将详细探讨此功能的使用条件、操作步骤以及解答一些常…

如何通过 6 种方法从 iPhone 恢复已删除的文件

想知道如何从 iPhone 恢复已删除的文件吗&#xff1f;本文将指导您如何从 iPhone 恢复数据&#xff0c;无论您是否有 iTunes/iCloud 备份。 iPhone 上已删除的文件去哪儿了&#xff1f; 许多 iPhone 用户抱怨他们经常丢失 iPhone 上的一些重要文件。由于意外删除、iOS 更新失败…

遇到JSON文件就头大?掌握Python这几种方法,让你轻松应对

目录 1、标准库json模块 📄 1.1 json.load()函数介绍 1.2 json.loads()处理字符串 1.3 使用json.dump()写入JSON 1.4 json.dumps()美化输出 1.4 错误处理与编码问题 1.5 高效读取大文件技巧 2、第三方库simplejson加持 🔧 2.1 安装与导入simplejson 2.2 性能优势与…

韩国版AlphaFold?深度学习模型AlphaPPIMd:用于蛋白质-蛋白质复合物构象集合探索

在生命的舞台上&#xff0c;蛋白质扮演着不可或缺的角色。它们是生物体中最为活跃的分子&#xff0c;参与细胞的构建、修复、能量转换、信号传递以及无数关键的生物学功能。同时&#xff0c;蛋白质的结构与其功能密切相关&#xff0c;而它们的功能又通过与蛋白质、多肽、核苷酸…

node调试

vscode安装插件&#xff1a;JavaScript Debugger (Nightly) 点击后生成一个launch.json文件 打断点&#xff0c;并发送一个请求来执行代码到断点处 按右上的向下箭头&#xff0c;进入源码&#xff0c;进行查看&#xff0c;左边查看变量等值

护眼台灯攻略:护眼台灯真的有用吗?

当前&#xff0c;近视问题在人群中愈发普遍&#xff0c;据2024年的统计数据显示&#xff0c;我国儿童青少年的总体近视率已高达52.7%。近视的人越来越多&#xff0c;近视背后还潜藏着视网膜脱离、白内障、开角型青光眼等眼部疾病&#xff0c;严重的情况甚至可能引发失明。长时间…

windows 环境下使用git命令导出差异化文件及目录

一、找出差异化的版本&#xff08;再此使用idea的show history&#xff09; 找到两个提交记录的id 分别为&#xff1a; 二、使用git bash执行命令&#xff08;主要使用 tar命令压缩文件&#xff09; 输出结果&#xff1a;

Linux系统管理:虚拟机Almalinux 9.4 安装

目录 一、理论 1.Almalinux 二、实验 1.虚拟机Almalinux 9.4 安装准备阶段 2.安装Almalinux 9.4 3.Termius远程连接 一、理论 1.Almalinux (1) 简介 Almalinux是一个开源、社区拥有和管理、免费的企业Linux发行版。专注于长期稳定性&#xff0c;并提供强大的生产级…

【linux-imx6ull-定时器与中断】

目录 1. 前言2. Linux软件定时器2.1 内核频率选择2.2 重要的API函数2.3 Linux软件定时器的使用配置流程 4. Linux中断4.1 简单中断使用4.1.1 简要说明4.1.2 重要的API函数4.1.3 中断的简要配置流程 4.2. 中断的上半部和下半部4.2.1 tasklet实现下半部4.2.2 work实现下半部 1. 前…

终结国企虚假贸易:监管闭环下的关系排查与风控增强

2024年5月28日&#xff0c;国务院正式公布《国有企业管理人员处分条例》&#xff08;以下简称《条例》&#xff09;&#xff0c;将于2024年9月1日起施行。作为国家经济的重要支柱&#xff0c;国有企业的管理人员在企业运营中扮演着至关重要的角色&#xff0c;《条例》的颁布&am…

调用腾讯智能云实现车辆信息识别

目录 1. 作者介绍2. 算法介绍2.1 腾讯云介绍2.2 API介绍 3. 调用腾讯智能云实现车辆信息识别3.1 准备工作3.2 完整代码3.3 结果分析 1. 作者介绍 汤明乐&#xff0c;男&#xff0c;西安工程大学电子信息学院&#xff0c;2023级研究生 研究方向&#xff1a;机器视觉与人工智能 …

蓝牙BLE上位机工具开发理论线索梳理_3.WINRT Devices设备相关

1.WINRT关于Devices设备相关的命名空间 关于WINRT科以参考下面这篇博文学习理解。以下列出Devices设备相关的API命名空间。 理解WinRT - 厚积薄发 - C博客 Windows.Devices此命名空间提供对低级别设备提供程序的访问&#xff0c;包括 ADC、GPIO、I2 C、PWM 和 SPI。Windows.D…

提醒:网站使用微软雅黑字体的三种方式,两种侵权,一种不侵权。

大家都知道微软雅黑是windows系统的默认字体&#xff0c;但是不知道微软雅黑的版权归属方正字体&#xff0c;而且方正字体仅仅授权了微软在windows系统中使用该字体&#xff0c;脱离了windows使用&#xff0c;那是极易中招的&#xff0c;网页字体使用是前端开发的工作之一&…

【Python】教你彻底了解Python中的数据科学与机器学习

​​​​ 文章目录 一、数据科学的基本概念1. 数据收集2. 数据清洗3. 数据分析4. 数据可视化5. 机器学习 二、常用的数据科学库1. Pandas1.1 创建Series和DataFrame1.2 数据操作 2. NumPy2.1 创建数组2.2 数组操作 3. Scikit-learn3.1 数据预处理3.2 特征工程 三、数据预处理与…

随手记:商品信息过多,展开收起功能

UI原型图&#xff1a; 页面思路&#xff1a; 在商品信息最小item外面有一个包裹所有item的标签&#xff0c;控制这个标签的高度来实现展开收起功能 <!-- 药品信息 --><view class"drugs" v-if"inquiryInfoSubmitBtn"><view class"…

天降流量于雀巢?元老品牌如何创新营销策略焕新生

大家最近有看到“南京阿姨手冲咖啡”的视频吗&#xff1f;三条雀巢速溶咖啡入杯&#xff0c;当面加水手冲&#xff0c;十元一份售出&#xff0c;如此朴实的售卖方式迅速在网络上走红。而面对这一波天降的热度&#xff0c;雀巢咖啡迅速做出了回应&#xff0c;品牌组特地去到了阿…

PySpark特征工程(I)--数据预处理

有这么一句话在业界广泛流传&#xff1a;数据和特征决定了机器学习的上限&#xff0c;而模型和算法只是逼近这个上限而已。由此可见&#xff0c;特征工程在机器学习中占有相当重要的地位。在实际应用当中&#xff0c;可以说特征工程是机器学习成功的关键。 特征工程是数据分析…

交流负载箱的使用场景和应用范围是什么?

交流负载箱模拟实际用电设备运行状态的电力测试设备&#xff0c;主要用于对各种电气设备、电源系统、发电机组等进行性能测试、质量检验和安全评估。交流负载箱的使用场景和应用范围非常广泛&#xff0c;涵盖了电力、通信、能源、交通等多个领域。 1. 电力行业&#xff1a;在电…

什么是电脑监控软件?六款知名又实用的电脑监控软件

电脑监控软件是一种专为监控和记录计算机活动而设计的应用程序&#xff0c;它能够帮助用户&#xff08;如家长、雇主或系统管理员&#xff09;了解并管理目标计算机的使用情况。这些软件通常具有多样化的功能&#xff0c;包括但不限于屏幕捕捉、网络行为监控、应用程序使用记录…