vue3与js的router基本使用方式


title: vue3与js的router基本使用方式
tags:

  • vue3
  • js
    abbrlink: ‘57270957’
    date: 2024-04-17 18:54:47

第一步快捷引入的别名

使用路由需要大量在src文件中引用所需要的地址,并且组件中也需要很多的包的引用,将快速跳转到src这一文件的步骤进行简化操作是非常有必要的。

在vite.config.js文件中就可以帮助构成。一般将./取别名为~(可直接调用同级文件名),将./src取别名为@

//第一步内置模块用来配置路径
import path from 'path'export default defineConfig({resolve:{//需要用到的插件数组plugins:[vue()]alias: {//设置路径(两个下划线)//./当前同级目录+其他文件名'~':path.resolve(__dirname,'./'),//@直接走到src文件目录下'@':path.resolve(__dianame,'./src')}}
})

第二步写组件

在src中的pages或views中将组件的样式基本定制好,然后等待调用使用,例如

<template>这是一个组件页面
</template><script setup name='Online'></script>

注意:直接在script中写name的方法有多种,其中比较简单的是使用unplugin-vue-define-options插件,然后再安装一个叫做vue-official的插件(以前叫做volar)

第三步在router文件中完成配置

安装vue-router@4

npm install vue-router@4

在router文件中的index.js文件中引入包,引入路径。

//首先引入路由方法,使用HashHistory和WebHistory不同,具体为表现路径的不同,前面是#,后面是路径名称
import {creatRouter,creatWebHashHistory,creatHoshHistory}from 'vue-router'//建立路由配置公共路由数组
const roueters=[]const router = creatRouter({history:creatWebhistory(),//routers:routers,key与value值相同可以省略写routers   
})//发出去
export default router

第四步在main文件中引入路由

在同级目录下的mian.js文件中引入路由

import {creatApp} from 'vue'
import ElementPlus form 'element-plus'
import App from'./App.vue
//引入
import router from './router'//建立app对象
const app = creatApp(App)//使用路由
app.use(router)//使用elementplus
app.use(ElementPlus)//使用挂载对象
app.mount('#app')

第五步完善router中的组件调用

一般这个路由组件文件的名字会叫做pages或者views,我们可以通过router文件下的index.js(第三步中已经建立好了基本框架,只要处理第三步代码的数组内容就可以了)来进行相关的调用。

第一种路由普通使用方法

import {creatRouter,creatWebHashHistory,creatHoshHistory}from 'vue-router'//引入组件地址
import a from '@/view/a.vue'
import b from '@/view/b.vue'//建立路由配置公共路由数组,进行view组件中的调用
const roueters=[{name:'a',path:'/a',component:a},{name:'b',path:'/b',component:b}
]const router = creatRouter({history:creatWebhistory(),routers   
})export default router

第二种路由嵌套使用方法

const router = createRouter({history:createWebHistory(),routes:[{name:'zhuye',path:'/home',component:Home},{name:'xinwen',path:'/news',component:News,children:[{name:'xiang',path:'detail',component:Detail}]},{name:'guanyu',path:'/about',component:About}]
})
export default router

注意:使用name属性可以帮助后期优化router-link操作,如果设计到多级跳转,命名是一个非常明智的选择。

<!-- 第一种:to的字符串写法 -->
<router-link active-class="active" to="/home">主页</router-link><!-- 第二种:to的对象写法 -->
<router-link active-class="active" :to="{path:'/home'}">Home</router-link>

第六步在App.vue中进行引用路由

<script setup>
</script>
<template><!-- 将五的路由引入--><router-view></router-view>
</template>
<style>
</style>

进阶引用如下:

<template><!--划分区域--><div class="app"><div class="title"><h2>Vue路由测试</h2></div><!--导航区--><div class="navigate"><RouterLink to="/home" active-class="active">首页</RouterLink><RouterLink :to="{name:'newspaper'}" active-class="active">新闻</RouterLink><RouterLink :to="{path:'/About'}" active-class="active">关于</RouterLink><!-- <RouterLink to="/About" active-class="active">关于</RouterLink> --></div><!--展示区--><div class="main-content"><!-- 内容展现位置 --><RouterView></RouterView></div></div>
</template><script lang="ts" name="App" setup>//引入路由import { RouterLink,RouterView } from 'vue-router';
</script>

进一步了解路由使用方法

进一步了解vuerouter的使用,可以在官网查看

router/index.js高级路径写法

463c5d93b5ed4ddf059b4f5d15cfb95.jpg

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

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

相关文章

数据可视化与低代码开发应用:开启智能时代新篇章

随着大数据、人工智能等技术的飞速发展&#xff0c;数据可视化和低代码开发应用已经成为了当今时代最具代表性的技术趋势。本文将探讨其在各个领域的应用与价值&#xff0c;以及如何利用这些技术为企业和个人带来更高的效益。 数据可视化&#xff1a;让数据会说“话” 数据可视…

【数据处理报错】python空格多个分割字符串

a file.readline().strip("\n") a_list a.split(" ")这种方法只能分割1个空格&#xff0c;多分出来一个空格数据处理报错直接使用split()就可以了 str_list str.split()参考文章两种方法分割python多空格字符串https://blog.csdn.net/lwgkzl/article/de…

Redis实际应用中的解决方案

Redis缓存使用问题 1数据一致性 分析一下几种方案&#xff1a; 1&#xff1a;先更新缓存&#xff0c;再更新数据库 2&#xff1a;先更新数据库&#xff0c;在更新缓存 3&#xff1a;先删除缓存&#xff0c;后更新数据库 4&#xff1a;想更新数据库&#xff0c;后删除缓存 …

Docker在服务器linux下配置及打包【bash指令】

1.管理员将用户设置为docker用户 &#xff08;注意&#xff1a;这里需要服务器管理员进行设置此句&#xff09; sudo gpasswd -a ${user} docker2.列出docker镜像 docker images 3.列出正在运行的docker容器 docker ps 4.0.创建一个容器 docker pull python3.10 docker p…

STM32 同时使用 FMC 和 FSMC 问题

在一个项目中有同时和 FPGA 和 SDRAM 通讯的需求&#xff0c;分别使用 FSMC 和 FMC 来控制。 一般来说 SDRAM 64ms需要刷新所有行。用到的 SDRAM 为 8192 行&#xff0c;时钟用的 100M&#xff0c;故刷新寄存器计数值为 1560&#xff0c;正常也就这么写了。 但是在使用中发现…

前端 Android App 上架详细流程 (Android App)

1、准备上架所需要的材料 先在需要上架的官方网站注册账号。提前把手机号&#xff0c;名字&#xff0c;身份证等等材料准备好&#xff0c;完成开发者实名认证&#xff1b;软著是必要的&#xff0c;提前准备好&#xff0c;软著申请时间比较长大概需要1-2周时间才能下来&#xf…

需求文档怎么写?

1. 导言 我也来个导言: 写这篇博客的目的就是来解答一下下面几个问题&#xff1a; 需求文档怎么写&#xff1f;需求文档都应该包含哪些内容&#xff1f;怎样才算一个合格的需求文档&#xff1f; 产品需求文档&#xff08;Product requriement document&#xff09;&#xff…

全网首发亲测有用:python免费将chatgpt机器人接入个人微信(同时支持钉钉、QQ 以及别的语言模型如文心一言等)

一、获得免费chatgptAPI https://github.com/chatanywhere/GPT_API_free?tab=readme-ov-file 点击这个就可以获取一个免费的CHATGPT API key 或者觉得不够用的话,也可以付费购买在里面,看着价格很便宜,个人没有买过 tips: 转发API无法直接向官方接口api.openai.com发起…

Clickhouse 字符串函数 - 2

reverse​ 反转字符串。 reverseUTF8​ 以Unicode字符为单位反转UTF-8编码的字符串。如果字符串不是UTF-8编码&#xff0c;则可能获取到一个非预期的结果&#xff08;不会抛出异常&#xff09;。 format(pattern, s0, s1, …)​ 使用常量字符串pattern格式化其他参数。pat…

笔试强训Day20 动态规划 模拟

经此一役小红所向无敌 题目链接&#xff1a;A-经此一役小红所向无敌_牛客小白月赛37 (nowcoder.com) 思路&#xff1a; 水题 直接跟思路即可。 AC code&#xff1a; #include<iostream> using namespace std; typedef long long LL; LL a1,a2,b1,b2,t1,t2,sum; int m…

Spring中的DigestUtils:数据摘要的艺术与实用

1. 概述 DigestUtils 是 Spring Framework 提供的一个实用工具类&#xff0c;用于生成数据的摘要&#xff08;也称为哈希或散列&#xff09;。它封装了常见的哈希算法&#xff0c;如 MD5、SHA-1、SHA-256 等&#xff0c;使得开发者能够方便地对字符串、字节数组或其他数据源进…

专题五_位运算(3)

目录 137. 只出现一次的数字 II 解析 题解 面试题 17.19. 消失的两个数字 解析 题解 137. 只出现一次的数字 II 137. 只出现一次的数字 II - 力扣&#xff08;LeetCode&#xff09; 解析 注意这里指的是比特位上的01来进行统计的 题解 class Solution { public:int sin…

机器学习常见概念

1. 机器学习 定义&#xff1a; 机器学习是一种人工智能的分支&#xff0c;让计算机通过数据学习规律和模式&#xff0c;从而做出预测或做出决策&#xff0c;而无需明确编程指令。 应用场景&#xff1a; 机器学习广泛应用于各种领域&#xff0c;比如推荐系统、医疗诊断、金融风…

深入理解分布式事务⑧ ---->MySQL 事务的实现原理 之 MySQL 事务流程(MySQL 事务执行流程 和 恢复流程)详解

目录 MySQL 事务的实现原理 之 MySQL 事务流程&#xff08;MySQL 事务执行流程 和 恢复流程&#xff09;详解MySQL 事务流程1、MySQL 事务执行流程1-1&#xff1a;MySQL 事务执行流程如图&#xff1a; 2、MySQL 事务恢复流程2-1&#xff1a;事务恢复流程如下图&#xff1a; MyS…

基于V4L2框架的摄像头从上层到底层开发

文章目录 一、V4L2应用开发1、识别摄像头2、查看摄像头设备的能力3、查看支持视频格式4、设置视频格式5、申请帧缓冲6、启动采集7、出队取一帧图像8、入队归还帧缓冲9、停止视频采集10、退出释放资源 二、V4L2框架源码分析1、struct video_device2、struct v4l2_device *v4l2_d…

HAL库 嵌入式

HAL库 “HAL库”&#xff08;Hardware Abstraction Layer Library&#xff0c;硬件抽象层库&#xff09;通常是指在嵌入式系统开发中用来提供硬件操作抽象的软件库&#xff0c;使得应用程序可以在不直接操作硬件的情况下与硬件通信。这种库通常是由硬件制造商提供&#xff0c;用…

python json字符串怎么用format方法填充参数值报KeyError

python json字符串怎么用format方法填充参数值报KeyError 需求问题分析解决方案 需求 因为python中的字典和json中的一些变量有差异&#xff0c;比如&#xff1a;json中有null、true&#xff0c;在python中就不会被识别&#xff0c;只能转换成字符串&#xff0c;在通过loads()…

Java对象的比较(详解三种比较方式)

Java对象的比较 一、基本类型的比较二、引用类型的比较三、三种自定义比较的方式1、重写equals()方法2、基于Comparble接口比较3、基于Comparator比较器进行比较 一、基本类型的比较 对于Java中的基本类型而言&#xff0c;Java可以对其直接比较。整型浮点型就是直接比较其大小…

C#核心之面向对象-继承

面向对象-继承 文章目录 1、继承的基本规则1、基本概念2、基本语法3、示例4、访问修饰符的影响5、子类和父类的同名成员 2、里氏替换原则1、基本概念2、is和as3、基本实现 3、继承中的构造函数1、基本概念2、父类的无参构造函数3、通过base调用指定父类构造 4、万物之父和装箱拆…

关于ESP32下载的几个小问题

文章目录 一、没有收到串口数据二、vscode使用jtag烧录失败 在使用esp32的时候&#xff0c;下载遇到了这么几个小问题&#xff0c;写一下解决方法。 一、没有收到串口数据 报错如下&#xff1a; 这是在使用arduino下载的时候出现的错误&#xff1a;A fatal error occurred: …