vue3中路由的使用

2023-11-20

路由是什么

vue中的路由是用来管理页面切换或跳转的一种方式。Vue Router是vue官方的路由管理器

1. Vue Router的安装(需要先弄好npm)

npm install vue-router@4 -s

在安装完成之后,开始尝试简单的使用

例如现在你有随便的两个vue文件,你可以通过在app组件中使用router-link标签在两个组件中转换(这里不展开细说,很简单的)

2. 在vue3中使用路由

在main.js中编写代码

// 引入的工厂函数
import { createApp } from 'vue'
import App from './App.vue'
import { createRouter, createWebHashHistory } from 'vue-router'
//这两个都需要导入
import demo1 from './components/demo1.vue'
import demo2 from './components/demo2.vue'
//这里是我自己写的两个组件
const app = createApp(App)
const routes = [
  { path: '/', component: demo1 },
  { path: '/2', component: demo2 }
]
//上面的定义path是导航的地址,就是要跳转的地址,componment是需要展示的组件
//这一步是创建路由
const router = createRouter({
  history: createWebHashHistory(),
  routes: routes
})
app.use(router)
// 挂载
app.mount('#app')

在定义好路由之后,我们需要知道组件会被渲染在哪里,这时就要用到路由出口

<template>
  <!-- 出口,与地址对应的组件会被渲染在这里 -->
  <router-view></router-view>
</template>

<script>
export default {
  name: 'App',
}
</script>

此时你可以修改地址栏的地址,来切换两个组件,默认会访问path为’/'的组件

3.路由嵌套

在上面的例子中,我们会将两个不同的组件匹配到不同的路由,但是会在同一个地方被渲染,这种路由被称为顶级路由,但当你所渲染的组件自身(如上面的demo1或demo2)也包含路由时,就需要用到路由嵌套了

例如在demo2中包含一个demo3的出口

此时你需要在dmeo2中添加router-view标签

这是后面demo3会渲染的位置

现在需要考虑的是如何让给demo3匹配一个路由

我们可以在main.js中修改一下定义的routes

const routes = [
  { path: '/', component: demo1 },
  { path: '/2', 
   	component: demo2,
   	children:[
        { path:'3',component: demo3}
        //记得导入demo3
    ]
  }
]

此时在地址栏修改地址为’/2/3’,就可以看到已经渲染demo3的dmeo2组件

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue3中路由的使用 的相关文章

  • 单击按钮重复动画

    我想每次单击按钮时都重复动画 我尝试做某事像这样 https jsfiddle net 91raod7e const dist document querySelector dist document querySelector butto
  • 匹配数组中的对象并合并

    UPDATE 我有一个名为的对象数组cars包含 li 标签 其中包含有关汽车的属性数据 例如价格 汽车类型等 我的目标是 如果这些汽车符合某些标准 则将它们合并到一个列表中 要求 快速性能 保持相同的汽车数组结构 Main Goal Ma
  • 具有两组子组件的 React 组件

    我正在创建一个组件 需要接收两组子组件并放置在组件的两个不同部分中 let CreditCardForm icons fields gt div div div div icons div div div fields div let Cr
  • 根据用户区域设置过滤字符串列表

    当使用 AngularJS 1 6 处理 JavaScript 项目时 我有一个要过滤的字符串列表 例如 假设我的列表包含 rbol cig e a nido and tubo 当过滤西班牙语字符串时 如果我过滤 u 我会期望两者cig e
  • 使用JQuery检查元素是否有边框?

    所以我正在玩 el css 尝试确定元素是否有边框 我用 css border style solid 设置边框 这是可行的 但实际上它设置了 4 种单独的样式 border right style border left style bo
  • 通过 Javascript 将图像切割成碎片

    我正在创建一个简单的拼图游戏 为了做到这一点 我需要将我正在使用的图片切成 20 块 Javascript 有没有办法将一张图片切成 20 个相等的部分 并将它们保存为网页中的 20 个不同的对象 或者我只需要进入 Photoshop 自己
  • javascript中输入类型时间的值

    我有这个html
  • 缩放事件侦听器之前的 Javascript OpenLayers

    我正在尝试将 OpenLayers 设置为在缩放开始之前不显示矢量图层 并使其在缩放结束后重新出现 我已经像这样建立了缩放结束部分 map new OpenLayers Map map element eventListeners zoom
  • nodejs mocha suite 未定义错误

    我正在尝试使用摩卡运行一些测试 但似乎无法克服这个错误 E tdd nodejs cart gt mocha cart test js node js 201 throw e process nextTick error or err Re
  • Backbone 中的加载栏

    我想显示加载消息 图标 直到列表中的所有项目都已呈现 这是我的示例中的 jsfiddle http jsfiddle net 9R9zU 58 http jsfiddle net 9R9zU 58 我尝试在 Feed 部分添加一个带有加载栏
  • express 或express-generator:我需要两者吗?

    只是探索 Node js 并遇到了 Express 在 npm 存储库站点上https www npmjs com package express https www npmjs com package express它明确指出安装是 np
  • 在overlayImage中应用滤镜的方法在哪里?

    我想在overlayImage中应用一个过滤器 唯一的方法是在渲染后在整个画布上应用过滤器 对此没有内置支持 但很容易 破解 var overlayImageUrl load overlay image first fabric Image
  • Javascript 中的线性回归 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在网络浏览器中用 Javascript 进行最小二乘拟合 目前 用户使用 HTML 文本输入输入数
  • 通过多个回调优雅地传递“点击事件”

    当未登录的用户单击给定的按钮时 我想停止该事件 收集他的 oauth 收集他的电子邮件 如果我没有 然后执行该事件 我想用 javascript 来做所有事情 因为这会让事情变得更加简单 这就是我执行它的方式 我有两个问题 有没有更优雅的方
  • ExpressJS - DELETE 请求后 res.redirect

    我一直在寻找如何执行此操作 我正在尝试在发出删除请求后重定向 这是我正在使用的代码没有重定向 exports remove function req res var postId req params id Post remove id p
  • 允许使用 grunt browserify 进行全局转换

    我已将 jQuery 添加为 html 文件中的脚本标记 并将其添加到package json与一起工作browserify shim如下 browserify transform browserify shim browserify sh
  • 如何按字母顺序排序并先小写排序

    如何获得以下排序的结果Food to Eat然后是 食物123 显然 第二个较低的 o 应该将 要吃的食物 带到排序后的第一个项目中 我很惊讶这个问题不容易通过谷歌找到答案 这个壮举没有包含在 javascript 标准中也让我感到惊讶 F
  • Jquery 两个字段的时间差(以小时为单位)

    我的表单中有两个字段 用户可以在其中选择输入时间 start time end time 我想在更改这些字段时重新计算另一个字段的值 我想做的是获取两次之间的小时数 例如 如果我的开始时间为 5 30 结束时间为 7 50 我想将结果 2
  • 更改javascript nodejs中所有页面的href url

    我已经实现了具有多种语言下拉菜单的引导导航栏 当我选择语言时 它将翻译页面 如何更改其他页面的 url 和按钮文本 当我选择french 将所有网址更改为 fr about and fr contact 如何使用 JavaScript 进行
  • 利用重力效果拖动元素

    我想完成类似于 photoshop com 和此网站的功能 http mrdoob com projects chromeexperiments google gravity http mrdoob com projects chromee

随机推荐

  • python爬虫二十三:使用fiddler抓取app数据(三)

    1 什么是fiddler Fiddler是 个http协议调试代理 具 它能够记录并检查所有电脑和互联网之间的http https stp等通讯 它 持IE Chrome FireFox等等浏览器 可以在phone pad等移动设备进 连接
  • 13.前端jQuery之【入门要点】【选择器】【筛选器】

    目录 1 jQuery基本要点 2 jQuery选择器 3 jQuery筛选器 1 jQuery基本要点 1 jQuery 引入方式 write less do more 官网https jquery com 1 方式一 下载jQuery压
  • html align 属性,align-content

    align content属性 含义 设置自由盒内部各个项目在垂直方向排列方式 使用条件 必须对父元素设置自由盒属性display flex 并且设置为横向排列以及换行flex flow row wrap 这样这个属性的设置才会起作用 注意
  • 域名解析ip地址的过程

    浏览器会把输入的域名解析成对应的IP 其过程如下 1 查找浏览器缓存 因为浏览器一般会缓存DNS记录一段时间 不同浏览器的时间可能不一样 一般2 30分钟不等 浏览器去查找这些缓存 如果有缓存 直接返回IP 否则下一步 2 查找系统缓存 浏
  • C++之switch case语句详解

    我们已经了解 if else 可以用来描述一个 二岔路口 我们只能选择其中一条路来继续走 然而 有时候我们会遇到一些 多岔路口 的情况 用if else 语句来描述这种多岔路口会显得非常麻烦 而且容易把思路搅浑 比如程序4 2 2就是一个用
  • [计算机毕业设计]深度相机稀疏点云分类

    前言 大四是整个大学期间最忙碌的时光 一边要忙着准备考研 考公 考教资或者实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难 有不少课题是研究生级别难度的 对本科同学来说是充满挑战 为帮助大
  • ios系统脚本服务器加速,让iOS系统加速飞起来 speed intensifier插件让iOS系统加速

    由于系统的限制 在动画以及程序打开时间和速度方面基本上在iOS设备当中都是固定的 虽然默认的速度并不算太慢 基本上符合大多数用户的使用习惯 但是还是有一部分用户想方设法的想要让程序打开的速度变快一些 这里小编就带给大家一款名为 speed
  • 筛选sql中一列的重复数据及重复次数

    SELECT PROJECT CODE COUNT PROJECT CODE FROM meng project info GROUP BY PROJECT CODE HAVING COUNT PROJECT CODE gt 1 结果
  • TS复习-----TS中的类

    目录 概述 类的定义 类的继承 类的静态方法和属性 类里面的修饰符 抽象类 多态 getters与setters readonly修饰符 概述 类 Class 定义了一切事物的抽象特点 对象 Object 类的实例 面向对象 OOP 三大特
  • 使用windeployqt与inno setup实现windows下Qt程序发布打包

    一 使用windeployqt拷贝依赖文件 在发布生成的exe程序时 需要复制一大堆dll 如果自己去复制dll 很可能丢三落四 导致exe在别的电脑里无法正常运行 因此Qt官方开发环境里自带了一个工具 windeployqt exe 1
  • HR 宏

    表TRMAC 程序DBPNPMAC 转载于 https www cnblogs com CtrlS p 10818285 html
  • Tableau 中的组(group)与集(set)

    使用tableau也好长时间了 最近有同事问我tableau中组和集有什么区别 那今天就谈谈我个人对组和集的一些理解 也算是一个回顾 理解不对之处还望大牛们及时指正 1 首先看看官方的定义 组是构成更高级别类别的维度成员的组合 单独理解的确
  • Error:(923) Apostrophe not preceded by \ (in %1$s's )

    问题描述 在使用Android的strings xml时 英文版会遇到许多简写 其中 s 和 t时经常使用的 如果直接使用编译无法通过就报标题所示错误 解决方法 主要原因是 是特殊字符 需要转义 加 既可解决 示例 xx s thing 修
  • VMware 中搭建 SylixOS 环境

    1 制作 x86 平台 U 盘启动盘 详细步骤见 RealEvo IDE 使用手册 第八章 制作成功后插入 U 盘 2 创建 VMware 虚拟机设备 打开 VMware 这里使用版本为 15 5 6 点击 创建新的虚拟机 按如下步骤创建虚
  • linux 如何查看进程端口号,在linux中查看进程占用的端口号

    在Linux 上的 etc services 文件可以查看到更多关于保留端口的信息 可以使用以下六种方法查看端口信息 ss 可以用于转储套接字统计信息 netstat 可以显示打开的套接字列表 lsof 可以列出打开的文件 nmap 是网络
  • srand(time(NULL))

    srand函数是随机数发生器的初始化函数 原型 void srand unsigned seed 用法 它初始化随机种子 会提供一个种子 这个种子会对应一个随机数 如果使用相同的种子后面的rand 函数会出现一样的随机数 如 srand 1
  • 什么是页面文件使用率

    你好 很高兴能看到你的问题 也很高兴我能够回答你的问题 你提问 什么是页面文件使用率 首先我们必须要了解什么叫 页面文件 页面文件是一个存放在硬盘上的文件 大多数情况下都放在系统磁盘 如C 盘 的根目录下 这个文件不允许用户访问 只能够被操
  • 简单的文件内容繁简体甄别

    在做国际化的时候 很多旧文件中的简体或者繁体 需要优化 一个一个找很麻烦 于是在查阅资料后 自己编写了一个简单的工具 废话不多说 上码子 插件 mui ui vue js jquery 項目是 hbuildx 直接創建的 change la
  • pip相关命令

    查看当前pip源 pip config list 更改pip源 pip config set global index url 清华源网址 升级pip python m pip install upgrade pip 安装模块 pip in
  • vue3中路由的使用

    路由是什么 vue中的路由是用来管理页面切换或跳转的一种方式 Vue Router是vue官方的路由管理器 1 Vue Router的安装 需要先弄好npm npm install vue router 4 s 在安装完成之后 开始尝试简单