Vue3---安装路由

news2024/12/26 21:42:12

介绍

在Vue3项目中安装路由

示例

第一步:执行npm命令安装路由

npm install vue-router@4

第二步:在项目的src文件夹下创建router子文件夹
在这里插入图片描述
第三步:创建index.jsroutes.js文件,以下为文件的代码

//通过vue-router插件实现模板路由配置
import { createRouter, createWebHashHistory } from 'vue-router'
import { constantRoute } from './routes'
//创建路由器
let router = createRouter({
    //路由模式hash
    history: createWebHashHistory(),
    routes: constantRoute,
    //滚动行为
    scrollBehavior() {
        return {
            left: 0,
            top: 0,
        }
    },
})

export default router
//对外暴露配置路由(常量路由)
export const constantRoute = [
    {
        path: '/',
        redirect: '/login',
        name: 'Default'
    },
    {
        path: '/login',
        component: () => import('@/views/Login.vue'),
        name: 'Login'
    },
    {
        path: '/index',
        component: () => import('@/views/Index.vue'),
        name: 'Index'
    },
    {
        path: '/course',
        component: () => import('@/components/Layout.vue'),
        name: 'Course',
        children: [
            {
                path: 'list',
                component: () => import('@/views/course/CourseList.vue'),
                name: 'CourseList'
            },
            {
                path: 'info',
                component: () => import('@/views/course/CourseInfo.vue'),
                name: 'CourseInfo'
            },
            {
                path: 'play',
                component: () => import('@/views/course/CoursePlay.vue'),
                name: 'CoursePlay'
            },
        ]
    },
    {
        path: '/teacher',
        component: () => import('@/components/Layout.vue'),
        name: 'Teacher',
        children: [
            {
                path: 'list',
                component: () => import('@/views/teacher/TeacherList.vue'),
                name: 'TeacherList'
            },
            {
                path: 'info',
                component: () => import('@/views/teacher/TeacherInfo.vue'),
                name: 'TeacherInfo'
            },
        ]
    },
    {
        path: '/article',
        component: () => import('@/components/Layout.vue'),
        name: 'Article',
        children: [
            {
                path: 'list',
                component: () => import('@/views/article/ArticleList.vue'),
                name: 'ArticleList'
            },
            {
                path: 'info',
                component: () => import('@/views/article/ArticleInfo.vue'),
                name: 'ArticleInfo'
            },
        ]
    },
    {
        path: '/user',
        component: () => import('@/components/Layout.vue'),
        name: 'User',
        children: [
            {
                path: 'center',
                component: () => import('@/views/user/UserCenter.vue'),
                name: 'UserCenter'
            },
        ]
    },
    {
        path: '/404',
        component: () => import('@/views/404.vue'),
        name: '404'
    },
    {
        path: '/:pathMatch(.*)*',
        redirect: '/404',
        name: 'Any'
    }
]

在这里插入图片描述

第四步:引入路由,让路由进行工作

import router from './router'
app.use(router)

第四步的完整代码:

// main.js
import { createApp } from 'vue'
import App from './App.vue'

import router from './router'

const app = createApp(App)
app.use(router)
app.mount('#app')

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

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

相关文章

docker打包介绍

最近在做一个开源项目,遇到开发者问各种问题,发现都是系统和软件版本的差异引起的。于是了解了一下docker的使用,发现docker真是个好东东,基本解决了各种版本差异的问题,真正做到了一键部署使用。 先熟悉一下docker里…

VS2022 | 显示Unreal Engine日志

VS2022 | 显示Unreal Engine日志 视图 -> 其他窗口 -> Unreal Engine日志 视图 -> 其他窗口 -> Unreal Engine日志

ORACLE体系结构逻辑结构-表空间、段、区和数据块

实例 实例是指在内存中分配的一块共享内存区域(SGA)和一组后台进程(或线程),它们用于访问和控制数据库。3实例是Oracle数据库的运行时环境,它是数据库的动态部分,它可以启动和关闭,…

本地部署 big-AGI

本地部署 big-AGI 1. big-AGI 介绍2. Github 地址3. 本地部署 big-AGI4. 访问 big-AGI5. 配置 API key6. 测试一下 1. big-AGI 介绍 欢迎使用 big-AGI 👋,这是一款面向需要功能、形式、简单性和速度的专业人士的 GPT 应用程序。 big-AGI 由 10 个供应商…

静态网页设计——崩坏3(HTML+CSS+JavaScript)

前言 声明:该文章只是做技术分享,若侵权请联系我删除。!! 感谢大佬的视频: 使用技术:HTMLCSSJS(静态网页设计) 主要内容:对游戏崩坏3进行简单介绍。 https://www.bilib…

ATTCK视角下的信息收集:组策略信息收集

目录 什么是组策略? 本地组策略收集 域组策略收集 组策略存储收集 组策略对象收集 什么是组策略? Windows中的组策略(Group Policy)是一种管理和配置Windows操作系统的功能,它允许系统管理员对计算机和用户的行为…

Photoshop Express一款出色的照片编辑器

​【应用名称】:Photoshop Express ​【适用平台】:#Android ​【软件标签】:#Photoshop ​【应用版本】:12.1.2 ​【应用大小】:223MB ​【软件说明】:软件升级更新。一款出色的照片编辑器&#xff0c…

Xshell连接Ubuntu失败

错误: Xshell连接Ubuntu失败。 Connecting to 192.168.xx.xxx:22…Could not connect to 192.168.xx.xxx’ (port 22): Connection failed. 解决方案:边解决,边测试Xshell是否可以连接 1、SSH 服务未启动: 确保 Ubuntu 上的 S…

回车与换行的区别。CR、LF、CRLF的区别。\r \n \r\n

1.先上结论 中文英文英文缩写ASCⅡ转义ASCⅡ值系统回车Carriage ReturnCR\r13MacIntosh(早期的Mac)换行LinefeedLF\n10Unix/Linux/Mac OS X(现在的Mac)回车并换行CRLF\r\nWindows 2.详解 很长一段时间里,对于CRLF、C…

swing快速入门(四十二)JTree的基本创建

注释很详细,直接上代码 新增内容 🔦JTree的创建 🔦设置节点之间的连线 🔦设置节点之间的水平分割线 🔦设置根节点的展开折叠图标 🔦设置是否隐藏根节点 package swing31_40;import javax.swing.*; import j…

【Electron】 Vite项目 初始配置 scss

pnpm add -D sasssrc下面创建 styles/main.scss 文件 mian.ts 内引入 ./styles.scss 文件 import ./styles/main.scss 测试scss是否生效&#xff1a; styles/mian.scss :root{--mian:red; } App.vue <template><div>你好</div> </template><s…

锂电池低温充电效率低、容量低的原因

前言&#xff1a;锂离子电池在充电时&#xff0c;Li从正极脱嵌并嵌入负极&#xff1b;但是当一些异常情况&#xff1a;如负极嵌锂空间不足、Li嵌入负极阻力太大、Li过快的从正极脱嵌但无法等量的嵌入负极等异常发生时&#xff0c;无法嵌入负极的Li只能在负极表面得电子&#xf…

Django 4.2.7 ORM 连接MySQLServer 完成单表CRUD

文章目录 Django ORM介绍1.使用pycharm新建一个Django项目2.修改settings.py文件中 DATABASES3.创建APP4.创建模型5.操作数据库 Django ORM介绍 Django 模型使用自带的 ORM。 对象关系映射&#xff08;Object Relational Mapping&#xff0c;简称 ORM &#xff09;用于实现面向…

【动态代理详解】

文章目录 1. 关于代理1.1 代理的概述1.1.1 什么是动态代理1.1.2 动态代理能做什么 1.2 什么是代理1.2.1 生活中的代理1.2.2 为什么要找中介&#xff1f; 1.3 开发中的代理模式&#xff08;代理&#xff09;1.3.1 使用代理模式的作用 1.4 实现代理的方式 2. 静态代理2.1 什么是静…

华为ipv4+ipv6双栈加isis多拓扑配置案例

实现效果&#xff1a;sw1中的ipv4和ipv6地址能ping通sw2中的ipv4和ipv6地址 R2-R4为存IPV4连接&#xff0c;其它为ipv6和ipv4双连接 sw1 ipv6 interface Vlanif1 ipv6 enable ip address 10.0.11.1 255.255.255.0 ipv6 address 2001:DB8:11::1/64 interface MEth0/0/1 inter…

OpenHarmony - 基于ArkUI框架实现日历应用

前言 对于刚刚接触OpenHarmony应用开发的开发者&#xff0c;最快的入门方式就是开发一个简单的应用&#xff0c;下面记录了一个日历应用的开发过程&#xff0c;通过日历应用的开发&#xff0c;来熟悉基本图形的绘制&#xff0c;ArkUI的组件的使用&#xff0c;UI组件生命周期&a…

ES6(一部分)未完...

文章目录 ES61.ES6 let声明变量2.ES6 const声明常量3.变量解构赋值3-1解构对象3-2解构数组3-3字符串解构 4.模板字符串5.字符串扩展5-1 include函数5-2 repeat函数&#xff08;重复&#xff09; 6.数值扩展6-1二进制和八进制表示法6-2isFinite 与 isNaN方法6-3islnteger方法6-4…

泽攸科技ZEM20台式扫描电镜低真空下的应用案例

低真空扫描电子显微镜是显微技术领域的重要分支&#xff0c;与传统的高真空扫描电子显微镜相比&#xff0c;低真空电镜对含水、多孔、不耐电子束烧伤和不适合喷金处理的样品进行直接观测并具有更好的效果&#xff0c;对于生物样品而言低真空电镜比高真空电镜更具有优势&#xf…

【sklearn练习】preprocessing的使用

介绍 scikit-learn 中的 preprocessing 模块提供了多种数据预处理工具&#xff0c;用于准备和转换数据以供机器学习模型使用。这些工具可以帮助您处理数据中的缺失值、标准化特征、编码分类变量、降维等。以下是一些常见的 preprocessing 模块中的功能和用法示例&#xff1a; …

Mac/Linux虚拟机CrossOver2024新版下载使用教程

CrossOver不像Parallels或VMware的模拟器&#xff0c;而是实实在在Mac OS X系统上运行的一个软件&#xff0c;该软件可以让用户在mac是上直接运行windows软件&#xff0c;本文为大家带来的是CrossOver Mac版安装教程&#xff01; CrossOver Mac-安装包下载如下&#xff1a;http…