037、Vue3+TypeScript基础,使用router.push进行导航式路由跳转

news/2024/9/21 4:29:23/文章来源:https://www.cnblogs.com/tianpan2019/p/18370403

01、main.js代码如下:

// 引入createApp用于创建Vue实例
import {createApp} from 'vue'
// 引入App.vue根组件
import App from './App.vue'//引入路由
import router from './router'const app = createApp(App);
//使用路由
app.use(router);
// App.vue的根元素id为app
app.mount('#app')

02、index.ts代码如下:

//创建路由并暴露出去
import {createRouter, createWebHistory} from 'vue-router'
import Home from '@/view/Home.vue'
import About from '@/view/About.vue'
import News from '@/view/News.vue'const router = createRouter({history: createWebHistory(),routes: [{name: 'myHome', path: '/home', component: Home},{name: 'myAbout', path: '/about', component: About},{name: 'myNews', path: '/news', component: News},]
})export default router

03、App.vue代码如下:

<template><div class="app"><h2 class="title">App.Vue路由测试</h2><!-- 导航区--><div class="navigate"><router-link to="/Home" class="nav-button">首页</router-link><router-link :to="{name:'myNews'}" class="nav-button">新闻</router-link><router-link :to="{path:'/about'}" class="nav-button">关于</router-link><button @click="jmp">跳转</button></div><!-- 内容区--><div class="mai-content"><RouterView></RouterView></div></div>
</template><script lang="ts" setup name="App">
// 界面会根据当前路由的变化,在RouterView所在的位置渲染不同的组件
import {RouterView} from 'vue-router'
import router from "@/router";function jmp() {router.push('/News')
}</script><style scoped>
.app {background-color: #ddd;box-shadow: 0 0 10px;border-radius: 10px;padding: 20px;
}.nav-button {display: inline-block; /* 让链接显示为块级元素,以便应用宽度和高度 */padding: 10px 20px; /* 内边距 */margin: 0 5px; /* 外边距,用于按钮之间的间隔 */text-decoration: none; /* 移除下划线 */color: white; /* 文本颜色 */background-color: #007bff; /* 背景颜色 */border-radius: 5px; /* 边框圆角 */transition: background-color 0.3s; /* 平滑过渡效果 */
}.nav-button:hover {background-color: #0056b3; /* 鼠标悬停时的背景颜色 */
}.nav-button.router-link-active {background-color: #28a745; /* 当前激活(路由匹配)时的背景颜色 */
}.mai-content {/* 添加边框样式 */border: 2px solid #000; /* 边框宽度、样式和颜色 */border-radius: 5px; /* 可选:添加边框圆角 */padding: 20px; /* 可选:给内部内容添加一些内边距 */margin: 20px; /* 可选:给元素添加一些外边距,以便与其他元素隔开 */
}
</style>

04、About.vue代码如下:

<template><div class="about"><h2>我是About页面</h2></div>
</template><script setup lang="ts" name="about">
</script><style scoped>
</style>

05、Home.vue代码如下:

<template><div class="home"><h2>我是Home页面</h2></div>
</template><script setup lang="ts" name="home">
</script><style scoped>
</style>

06、New.vue代码如下:

<template><div class="news"><h2>我是News页面</h2></div>
</template><script setup lang="ts">
</script><style scoped>
</style>

07、浏览器效果如下:

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF:静态、动态资源以及资源词典

WPF:静态、动态资源以及资源词典 静态资源与动态资源 我们常常会使用样式或者控件模板放在Window.Resources中,比如这样:静态资源与动态资源使用如下: <Window.Resources><SolidColorBrush x:Key="SolidColor" Color="#FF0000" /> </Win…

Hat靶场

Hat靶机的ip是192.168.200.8先用nmap扫描一下靶机所有的端口 nmap -p- 192.168.200.8 发现22端口不知道是否开放 还有一个65535 的unkown端口详细查看一下65535端口的信息 nmap -p 65535 -sV 192.168.200.8 貌似是个ftp 但是尝试匿名连接是连接不上去的dirsearch扫描了一下80端…

.NET 智能组件完全开源

Daniel Roth在2024年3月20日发布了一篇文章: .NET 智能组件简介 – AI 驱动的 UI 控件。文章主要介绍了.NET Smart Components,这是一系列可以快速轻松地添加到.NET应用程序中的AI驱动的UI组件。这些组件旨在简化在现有软件中添加AI功能的过程,无需花费大量时间重新设计用户体…

Ros2 Moveit2 - Robot Model and Robot State

Robot Model and Robot State 在本节中,我们将向您介绍用于在 MoveIt 中使用运动学的 C++ API。 RobotModel 和 RobotState 类 RobotModel 和 RobotState 类是提供对机器人运动学访问权限的核心类。 RobotModel 类包含所有链接和关节之间的关系,包括从 URDF 加载的关节限制属…

用友crm客户关系管理help.php存在任意文件读取漏洞

产品介绍: 用友U8CRM模块是一个综合性的客户关系管理系统,旨在帮助企业从客户出发,以客户关系为管理对象,通过动态管理客户信息、获得 客户知识和评判客户价值状况,来全面提升并保持企业的竞争优势及盈利能力。Fofa语句:body="用友 U8CRM"pocGET /pub/help.php…

史上最全:大厂P6/P7/P8 的职业技能,薪资水平,成长路线 ,最全的对照表。 (建议 收藏,慢慢查)

文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 实现技术自由,…

『模拟赛』暑假集训CSP提高模拟25

『模拟赛记录』暑假集训CSP提高模拟25Rank 学新东西,不算挂分(确信。A. 可持久化线段树 原板子[SP11470] TTM - To the moon 主席树,不过区间修改。 赛时想到标记永久化了,不过打 pushdown 的时候没新开点,于是 -100pts。 还挺简单的,建树和更改动态开点,按线段树来,加…

2024暑假集训测试29

前言比赛链接。今上午在家打的,下午回的学校,话说啥时候改成 \(7\) 点开始了? T1 是板子但是没打过标记永久化,想了一段时间想起树状数组维护区间求和操作于是用主席树实现了这个,赛时 T1 不给大样例所以调了挺长时间才放心;T2 想了一会儿没想出来就先打 T3 了,T3 想了一…

hdu2604

用f(n)表示n个人满足条件的结果,那么如果最后一个人是m的话,那么前n-1个满足条件即可,就是f(n-1); 如果最后一个是f那么这个还无法推出结果,那么往前再考虑一位:那么后三位可能是:mmf, fmf, mff, fff,其中fff和fmf不满足题意所以我们不考虑,但是如果是 mmf的话那么前n…

半导体器件设计概述

功率半导体体器件简要概述功率半导体的内涵 功率半导体是一类能够在高电压、高电流条件下工作的半导体器件,主要用于开关、控制和转换电能,功率半导体的基本原理可归纳为以下三个方面:截至特性:当功率半导体截至时,其内部的电阻变得很大,从而阻止电流通过,起到开关的作用…

2、coredump文件的配置

1、开启core文件的生成 使用ulimit -a命令查看是否打开core文件,如果大小为0,则表明没有打开,如果非0,则表明打开,本人虚拟机上已经设置为unlimited,所以已经打开(1)临时打开 使用ulimit -c命令打开,如设置为无限制,则使用ulimit -c unlimited (2)永久打开 sudo vi…

feehicms 文件上传

如果文件上传中出现了奇奇怪怪的参数可以试着查看其来源和作用侵权声明 本文章中的所有内容(包括但不限于文字、图像和其他媒体)仅供教育和参考目的。如果在本文章中使用了任何受版权保护的材料,我们满怀敬意地承认该内容的版权归原作者所有。 如果您是版权持有人,并且认为…