vue3配置router路由并实现页面跳转

news2024/11/17 0:06:43

1、安装vue-router
用vue3需要安装版本4.0以上的vue-router,安装命令:

npm install vue-router@next --save

vue2尽量安装4.0以下版本,安装命令:

npm i vue-router@3.1.3

在package.json中可以查看vue-router版本号:
在这里插入图片描述
2、根目录下新建router文件夹,下面新建index.js文件和routes.js
在这里插入图片描述

2.1文件中引入vue方法、配置页面具体路径
vue2和vue3代码区别如下:
【vue3】
在这里插入图片描述
在这里插入图片描述
ps:引入文件时记得新建view文件夹以及里面的A、B.vue两个页面

【vue2】
在这里插入图片描述
3、main.js文件中引入路由
在这里插入图片描述
4、APP.vue里声明路由的占位符<router-view></router-view>
在这里插入图片描述
5、测试
在这里插入图片描述

6、文件代码
HelloWorld.vue

<template>
  <!-- <h1>{{ msg }}</h1> -->
  <div class="card">
    <router-link to="/A">A</router-link>&nbsp;
    <router-link to="/B">B</router-link>&nbsp;

    <!-- 第二种方法 router.push-->
    <!-- <button @click="show('a')">A页面</button>
    <button @click="show('b')">B页面</button> -->
  </div>
</template>

<script setup>
import {useRouter,useRoute} from 'vue-router'
//const router = useRouter()
//const route = useRoute()

// defineProps({
//   msg: String,
// })

// 第二种跳转方法
// const show=(index)=> {
//   if(index == 'a') {
//     router.push('/a')
//   }
//   if(index == 'b') {
//     router.push('/b')
//   }
// }
</script>

<style scoped></style>

index.js

import {createRouter, createWebHashHistory,createWebHistory} from 'vue-router'
import routes from './routes'

const router = createRouter({
	routes,
    history: createWebHashHistory()
})

export default router

routes.js

const a = () => import('../view/A.vue')
const b = () => import('../view/B.vue')

const routes = [
	//实现路由重定向,当进入网页时,路由自动跳转到/a路由
	//{   
	//	path:'/',
    //    redirect:'/a'    
    // },

    {
        path: '/',
        component:a,
    },
    {
        name: 'a',
        path: '/a',
        component:a
    },
    {
        name: 'b',
        path: '/b',
        component: b
    },
    
];

export default routes

APP.vue

<script setup>
import HelloWorld from './components/HelloWorld.vue'
</script>

<template>
  <div>
    <h1>App 组件</h1>
    <HelloWorld msg="hello" />
    <!-- 声明路由的占位符 -->
    <router-view></router-view>
  </div>
</template>

<style scoped>

</style>

补充:
编程式导航

通过调用 API 实现导航的方式,叫做编程式导航。
与之对应的,通过点击链接实现导航的方式,叫做声明式导航。例如:
1. 普通网页中点击 链接、vue 项目中点击 都属于声明式导航
2. 普通网页中调用 location.href 跳转到新页面的方式,属于编程式导航

vue-router 中的编程式导航 API
vue-router 提供了许多编程式导航的 API,其中最常用的两个 API 分别是:

this.$router.push('hash 地址')  跳转到指定 Hash 地址,从而展示对应的组件
this.$router.go(数值 n)  实现导航历史的前进、后退
history.go(-2);//后退两次
history.go(2);//前进两次
history.back(); //后退
hsitory.forward(); //前进

但是history也是有缺点的,不怕前进后退跳转,就怕刷新(如果后端没有准备的话),因为刷新是实实在在地去请求服务器了。

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

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

相关文章

2399929 - 业务伙伴同步时出现错误 F2163

症状 无法保存供应商角色中业务伙伴的更改。在事务代码 MDS_PPO2 中从 BP 到供应商同步期间出现错误“尚未创建供应商 **&#xff08;错误消息&#xff1a;F2 163&#xff09;”。 环境 SAP ERP Central Component 6.0 SAP ERP 6.0 SAP ERP 的 SAP 增强包SAP ERP&#xff08…

LinkedBlockingQueue原理

1. 基本的入队出队 public class LinkedBlockingQueue<E> extends AbstractQueue<E>implements BlockingQueue<E>, java.io.Serializable {static class Node<E> {E item;/*** 下列三种情况之一* - 真正的后继节点* - 自己, 发生在出队时* - null, 表…

第八章 适配器模式

文章目录 前言一、类适配器模式完整代码220V 被适配类 Voltage220V5V 适配接口 IVoltage5V适配器类转换电压 VoltageAdapter 继承220V实现5V接口手机类判断是否能充电 Phone客户端调试类适配器模式注意事项和细节 二、对象适配器模式完整代码220V 被适配类 Voltage220V5V 适配接…

Go 语言入门很简单:Go 实现简易Web应用

前言 截止到目前为止&#xff0c;几乎我们的 Go 入门文章都是在终端运行的。 在终端运行的代码或者运用运用程序只适合自己在环境搭好的环境下使用。也就是说&#xff0c;如果用户没有安装 Go 语言环境&#xff0c;是根本没法运行我们所写的 Go 代码&#xff0c;普通用户可以…

美女如何零基础学习网络安全???

学习网络安全是一项极具挑战性的技能&#xff0c;大家在自学网络安全时&#xff0c;往往会遇到各种问题&#xff0c;导致迷茫。面对这种情况&#xff0c;解决源头问题是关键。因此&#xff0c;在接下来的探讨中&#xff0c;我们将首先分析学习网络安全的常见问题&#xff0c;并…

初识Spring(普通方式Bean的读取过程)

1.SpringBoot 相⽐于 Servlet 的优点总结 1. 添加外部 jar 更容易&#xff0c;不易出错&#xff08;版本问题⽆需关注&#xff09;&#xff1b; 2. 调试项⽬更加⽅便&#xff0c;⽆需配置 Tomcat&#xff1b; 3. 发布项⽬更加⽅便&#xff0c;⽆需配置 Tomcat&#xff1b; 4. …

【iOS】—— 响应者链和事件传递链

响应者链和事件传递链 文章目录 响应者链和事件传递链二者概念响应者响应链事件UIKit继承图UIResponderUITouchUITouch几个重要属性 UITouch的两个方法&#xff08;可用于view的拖拽&#xff09; UIEventUIEvent几个重要属性 事件的产生与传递传递链传递过程hitTest:withEvent:…

多路归并排序

内部排序和外部排序 内部排序&#xff1a;整个的排序过程都在内存中进行排序 外部排序&#xff1a;对大文件进行排序&#xff0c;无法将整个需要排序的文件复制到内存&#xff0c;所以会把文件存储到外村&#xff0c;等排序时再把数据一部分一部分地调入内存进行排序&#xff…

Java基础一(String)

Java基础一(String) 概览&#xff1a; String 被声明为 final&#xff0c;因此它不可被继承。(Integer 等包装类也不能被继承&#xff09; 在 Java 8 中&#xff0c;String 内部使用 char 数组存储数据。 public final class Stringimplements java.io.Serializable, Compa…

盘点并发编程的12种业务场景,面试别再说你不会并发了

前言 并发编程是一项非常重要的技术&#xff0c;无论在面试&#xff0c;还是工作中出现的频率非常高。 并发编程说白了就是多线程编程&#xff0c;但多线程一定比单线程效率更高&#xff1f; 答&#xff1a;不一定&#xff0c;要看具体业务场景。 毕竟如果使用了多线程&…

【MFC】网络通信(23)

Windows Sockets 规范是 Windows 平台下定义的可以兼容二进制数据传输的网络编程接口&#xff0c;是基于伯克利加利福尼亚大学的 BSD UNIX Sockets 的实现。 Socket 套接字分为两种类型&#xff1a;数据报 socket 和数据流 socket。 数据报套接字&#xff0c;即无连接套接字&…

网络通信基础 - 多路复用技术(频分多路复用、时分多路复用、波分多路复用)

文章目录 1 概述1.1 复用器 MUX 2 分类2.1 频分多路复用 FDM2.2 时分多路复用 TDM2.3 波分多路复用 WDM 1 概述 1.1 复用器 MUX 多路复用技术&#xff1a;把多个低速信道组合成一个高速信道的技术这种技术要用到两个设备&#xff0c;统称为 多路器&#xff08;MUX&#xff09…

Chapter13-基于 Netty 的通信实现

13.l Netty 介绍 Netty 是一个网络应用框架&#xff0c;或者说是一个 Java 网络开发库。 Netty 提供异步事件驱动的方式&#xff0c;使用它可以快速地开发出高性能的网络应用程序&#xff0c;比如客户端&#xff0f;服务器自定义协议程序&#xff0c;大大简化了网络程序的开发过…

ParticleSystem中的Culling Mode对耗时有怎样的影响

1&#xff09;ParticleSystem中的Culling Mode对耗时有怎样的影响 ​2&#xff09;关于API&#xff0c;OpenGL和Vulkan的疑问 3&#xff09;SVC分别搜集Keyword&#xff0c;多次搜集与单独搜集Warmup内存比较 4&#xff09;Occlusion Culling能否降低Culling耗时 这是第332篇UW…

kaggle酶稳定性预测第三名解决方案分享

最近在kaggle参加了诺维信举办的酶稳定性预测比赛 &#xff0c;最终很幸运获得了第三名&#xff0c;这篇文章主要是简单介绍一下解决方案&#xff0c;具体的数据和题目要求可访问上面的链接。 文章目录 模型概述特征工程模型XGB1XGB2XGB3 EnsembleNESP 3D geometryFoldXThermo…

AI即将夺走程序员的工作?实操验证

随着ChatGPT的普及&#xff0c;许多媒体开始报道“AI即将夺走程序员的工作”、“AI来了&#xff01;各大长都开始大幅度裁员”&#xff0c;这让一些初级码农感到担忧&#xff0c;而一些高级程序员则表示不屑一顾。这到底是不是“狼来了”。今天&#xff0c;我们将进行实际测试来…

实例了解GOT,PLT和动态链接

深入了解GOT,PLT和动态链接 我们使用一个简单的例子来了解动态链接库的链接过程&#xff0c;以及在这个过程中使用到的GOT和PLT的作用是什么。 文件准备 代码结构如下所示&#xff1a; [rootlocalhost test]# tree . . ├── main.c └── symbol.csymbol.c的内容如下&am…

聊聊布隆过滤器

目录 一、什么是布隆过滤器&#xff1f; 二、使用场景 三、原理 四、使用 4.1、Guava实现 4.2、Redisson实现 一、什么是布隆过滤器&#xff1f; 布隆过滤器&#xff08;英语&#xff1a;Bloom Filter&#xff09;是1970年由布隆提出的&#xff0c;是一种数据结构。它实际…

推式配货(Push)、拉式配货(Pull)和配送需求计划(DRP)的区别

随着电子商务的迅猛发展&#xff0c;物流配送服务已然成为企业竞争最为核心的环节&#xff0c;一个全面、完善的物流配送方案&#xff0c;能够帮助企业满足客户交期、节约运输和库存成本&#xff0c;促进各环节沟通&#xff0c;提高生产稳定性。同时&#xff0c;物流配送的许多…

如何在Java中高效地实现数字的反转和字符串的拼接?

给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&#xff0c;这两个数都不会以 0 …