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

vue3实现页面跳转

有需求是在vue项目中实现点击按钮完成页面跳转。这里不适用a标签,而是用vue自带的vue-router。

首先看一下项目结构

src
│  App.vue
│  main.js
│      
├─router
│      index.js
│      
└─views
        index.vue
        content.vue
 

可以看到,我在初始的vue项目中添加了一个文件夹router,并在里面添加了一个index.js文件。而view文件夹则是存放需要跳转的页面,里面分别是代表首页的index.vue文件和内容页面content.vue,接下来看看5个文件各自有什么内容。

App.vue文件

<script setup>
</script><template><router-view></router-view>
</template><style scoped></style>

 很简单,只是加了用于显示路由页面内容的<router-view></router-view>

main.js文件

import {createApp} from 'vue'
import App from './App.vue'
import router from "@/router/index.js"  // 导入路由// 注册路由
const app = createApp(App)
app.use(router)
app.mount("#app")

这个文件中我引入了router文件夹中的index.js文件,并且使用了其中的router,那么下面来看看这个index.js文件的内容。

router/index.js文件

import {createRouter, createWebHistory} from "vue-router";// 路由配置
const routes = [{//斜杠重定向到首页path: "/",redirect: "/index",},{//首页path: "/index",name: "index",component: () => import('@/views/index.vue')},{//内容页path: "/content",name: "content",component: () => import('@/views/content.vue')},]// 路由对象
const router = createRouter({history: createWebHistory(),routes: routes,
})export default router   // 导出供其他组件导入

在这个文件中我定义了一个路由配置和一个路由对象,并为其配置路由配置,最后导出该组件。

view/index.vue文件

<template>
<div class="container"><li><router-link to="/">首页</router-link></li><li><router-link to="/content">内容页面</router-link></li>
</div>
</template>

这里我们用router-link来作为跳转的按钮(当然可以在外面再套一个button添加样式)

view/content.vue文件

<template>
<div class="container"><li><router-link to="/">首页</router-link></li><li><router-link to="/content">内容页面</router-link></li>
</div>
</template>

这里我们用router-link来作为跳转的按钮(当然可以在外面再套一个button添加样式),和首页一样,这样点击后就可以实现跳转了

http://www.lryc.cn/news/306950.html

相关文章:

  • 【Linux运维系列】vim操作
  • Centos服务器部署前后端项目
  • 【初始RabbitMQ】延迟队列的实现
  • spark为什么比mapreduce快?
  • Unity通过XXpermission插件获取MANAGE_EXTERNAL_STORAGE权限
  • 「连载」边缘计算(二十一)02-26:边缘部分源码(源码分析篇)
  • Unity(第四部)新手组件
  • 【JS】【Vue3】【React】获取鼠标位置的方法:JavaScript、Vue 3和React示例
  • [Docker 教学] 常用的Docker 命令
  • 小程序应用、页面、组件生命周期
  • Springboot中如何记录好日志
  • vm 虚拟机中ubuntu环境配置共享文件夹的方式
  • EMQX Enterprise 5.5 发布:新增 Elasticsearch 数据集成
  • 安全架构设计理论与实践
  • SQL注入漏洞解析--less-46
  • 【算法与数据结构】回溯算法、贪心算法、动态规划、图论(笔记三)
  • 【pytorch】常用代码
  • GB28181 —— Ubuntu20.04下使用ZLMediaKit+WVP搭建GB28181流媒体监控平台(连接带云台摄像机)
  • 图片录入设备、方式与质量对图片转Excel的影响
  • Linux:ACL权限,特殊位和隐藏属性
  • FL Studio21中文版本价格多少?值不值得购买?
  • 【论文阅读】ICCV 2023 计算和数据高效后门攻击
  • JavaAPI常用类03
  • SpringBoot/Java中OCR实现,集成Tess4J实现图片文字识别
  • 【深度学习目标检测】十九、基于深度学习的芒果计数分割系统-含数据集、GUI和源码(python,yolov8)
  • 骑砍战团MOD开发(48)-多人联机模式开发环境搭建
  • Java+SpringBoot+Vue+MySQL:美食推荐系统的技术革新
  • 【服务发现--ingress】
  • Yolov8有效涨点:YOLOv8-AM,添加多种注意力模块提高检测精度,含代码,超详细
  • 苹果分拣检测YOLOV8NANO