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中路由的使用 的相关文章

  • 突出显示 Html 文档中不同标签的文本

    我是新来的角js 现在我正在突出显示 HTML 文档中的文本 So 我的代码是这样的 var InstantSearch highlight function container highlightText var internalHigh
  • 修复 JSLint“意外的‘this’。”错误?

    我试图让以下代码成为符合 jslint 标准 http jslint com 但我陷入以下两个错误 本来应该看到一个声明 结果却看到了一个块 and 意想不到的 这个 我应该对我的代码进行哪些更改才能使 JSLint 满意 var pvAc
  • OpenLayers:放大或缩小后,被破坏的特征会重新出现

    我有一个 OpenLayers Bing 地图应用程序 可以显示危险废物站点 用户可以单击链接来切换地图上站点的子站点 当我通过调用层上的 destroyFeatures 来关闭子站点 它们是向量层上的点 时 它们会按预期消失 但是 如果我
  • 如何从特定索引渲染 v-for

    我想在 v for 中循环假设从数字 5 到 10 循环希望在 5 点开始并在 10 点结束 我试过这个 div div 但我想要更有效的循环方式 有谁知道如何让循环从 5 开始 对于你的例子来说是可能的 div some code her
  • 在网页上写乐谱[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我希望能够在网页中编写乐谱和和弦 有没有可用的库 例如用于数学的 Mathjax 如果没有 那么还有其
  • 检查复选框是否被选中? [复制]

    这个问题在这里已经有答案了 如何通过 jQuery 检查复选框是否被选中 我可以只向元素添加 ID 或类并执行此操作吗 if element val 1 do stuff if element is checked checkbox is
  • 如何从 JavaScript 触发 ASP.NET Core 客户端验证

    有没有办法从 JavaScript 触发 ASP NET Core 客户端验证 我有一个 Razor Pages 页面 其中包含
  • 如何使用 LeafLe 创建商店地图

    我希望创建一个可以交互的地图 我发现的最好的选择是传单 问题是我没有找到任何资源来解释如何创建自己的地图 我希望创建一个商场地图 用户可以在其中看到所有商店 喷泉 我怎样才能做到这一点 最好的起点是传单示例页面 http leafletjs
  • 如何像在浏览器中一样检索准确的 HTML

    我正在使用 Python 脚本来呈现网页并检索其 HTML 它适用于大多数页面 但对于其中一些页面 检索到的 HTML 不完整 我不太明白为什么 这是我用来废弃此页面的脚本 由于某种原因 每个产品的链接不在 HTML 中 Link http
  • Javascript - 对父母调用 super 父母?

    我在 Odoo 中定义了当前自定义 javascript 视图的扩展 openerp account move journal test function instance var t instance web t lt instance
  • 如何在没有 DOM 的情况下将 javascript 作为 node.js 脚本运行?

    https github com jasondavies d3 cloud https github com jasondavies d3 cloud是一个使用 D3 库的 javascript 文字云 这是一个交互式演示 http www
  • JavaScript:嵌套循环?

    我想实现这样的动画 序列 动画以循环开始 想象一下car从 x1 移动到 x2 然后暂停 1 秒 然后再次播放动画 想象一下car从 x2 移动到 x3 等 the car循环是通过向汽车左侧添加 1px 来实现的 值 但我无法弄清楚嵌套循
  • Angular - 将焦点放在动态创建的输入字段上

    我如何将焦点添加到新创建的字段 参见到目前为止的示例 http jsfiddle net aERwc 165 http jsfiddle net aERwc 165 scope addField function console log h
  • 如何制作实时jquery效果?

    我想制作一个实时提要阅读器 并且我想要一个解决方案 使新项目无需刷新页面即可出现 并且具有像friendfeed一样的滚动效果 你可以在这里看到我在说什么 http www vimeo com 4029954 http www vimeo
  • Apollo 客户端“未找到命名导出‘删除’”

    我正在尝试创建一个apollo client插件Nuxt 3应用 它当前抛出有关名为的包的错误ts invariant file Users my name Repositories project node modules apollo
  • 在状态中检测到不可序列化的值,路径为:`filters.startDate` (redux-toolkit.esm.js )

    我正在使用 React 18 和 Redux 构建一个预算应用程序 我不知道这里有什么问题 import moment from moment const filtersDefaultState text sortBy date start
  • 如何缩放到高图中的特定点

    Highmaps highcharts 是一个 javascript jquery 适配器 可在浏览器等中呈现地图 我有一张突出显示单个国家 地区的地图 但是 世界 地图的比例如此之大 因此我想在将地图加载到相关国家 地区后进行放大 看看
  • html 下钻下拉所选值未插入 MYSQL

    我有两个下拉列表 首先从数据库下拉填充 根据第一个下拉列表的选定值从数据库填充第二个下拉列表 document ready function c change function var c1 c selected text if c1 aj
  • RemoveEventListener 在 Firefox 版本 58 中不起作用

    但它在 Chrome 中有效 这是我的 UI EventBus 代码 原型 addEventListener方法是一样的 只不过remove换成了add UI EventBus removeEventListener function ob
  • ESLint 如何集成到 Create React App 中?

    当我跑步时npx create react app some name 为我创建了一个简单的 React 项目 当我随后窥视package json 似乎有一些 ESLint 存在的证据 因为有 eslintConfig extends r

随机推荐

  • 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 在安装完成之后 开始尝试简单