当前位置: 首页 > news >正文

前端基础之《Vue(29)—Vue3 路由V4》

一、安装

1、命令

cnpm install vue-router@4

2、配置@映射为src路径

(1)安装对应配置

cnpm install @types/node

(2)配置vite.config.ts

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import * as path from "node:path"// vite官方配置文件
export default defineConfig({plugins: [vue()],// 配置别名@指向src目录resolve: {alias: {'@': path.resolve(__dirname, 'src')}}
})

(3)配置tsconfig.app.json
compilerOptions添加一段:

    "baseUrl": ".","paths": {"@/*": ["src/*"]}

二、集成

1、main.ts导入路由模块

// import Vue from 'vue' 在vue3中已经没有这个构造函数了
// 导入createApp工厂方法,用于创建vue实例
import { createApp } from 'vue'
// 导入全局样式
//import './style.css'
// 导入根组件
import App from './App.vue'
import router from './router'//createApp(App).mount('#app')
const app = createApp(App)// 注册路由
app.use(router)// 在vue3中,只能使用$mount挂载,已经淘汰了el选项
app.mount('#app')

2、建立src/router/index.ts

import { createRouter, createWebHashHistory } from 'vue-router'const router = createRouter({history: createWebHashHistory(), // 带#的hash模式routes: [{ path: '/', component: () => import('@/pages/PageA.vue') },{ path: '/xxx', component: () => import('@/pages/PageB.vue')}]})router.beforeEach((to, from, next)=>{next()
})export default router

3、App.vue修改视图结构

<script setup></script><template><router-view></router-view>
</template><style scoped></style>

三、显示路由

1、访问
http://localhost:5173/#/
http://localhost:5173/#/xxx
能显示对应页面。

2、小结
第1步:安装vue-router(v4)并创建路由实例,在main.js注册
第2步:编写路由规则{ path, component, children, meta, props, name, alias, redirect }
第3步:使用<router-view>显示匹配成功的页面组件,使用<router-link>做设计菜单导航

四、element-plus

1、安装

cnpm install element-plus

2、导入组件库

import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'

3、use一下

app.use(ElementPlus)

4、安装icon图标

cnpm install @element-plus/icons-vue

5、注册图标(总的main.ts)

// import Vue from 'vue' 在vue3中已经没有这个构造函数了
// 导入createApp工厂方法,用于创建vue实例
import { createApp } from 'vue'
// 导入全局样式
//import './style.css'
// 导入根组件
import App from './App.vue'
import router from './router'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
// 如果您正在使用CDN引入,请删除下面一行。
import * as ElementPlusIconsVue from '@element-plus/icons-vue'//createApp(App).mount('#app')
const app = createApp(App)
// 注册element-plus-icon
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {app.component(key, component)
}// 注册路由
app.use(router)
app.use(ElementPlus)// 在vue3中,只能使用$mount挂载,已经淘汰了el选项
app.mount('#app')

http://www.lryc.cn/news/614440.html

相关文章:

  • ADB打印设备日志相关
  • 手机拍照识别中模糊场景准确率↑37%:陌讯动态适配算法实战解析
  • 用LaTeX优化FPGA开发:结合符号计算与Vivado工具链(二)
  • 大模型量化上溢及下溢解析
  • ESP32-menuconfig(4) -- Partition Table
  • Web Worker 性能革命:让浏览器多线程为您的应用加速
  • ChipCamp探索系列 -- 1. Soft-Core RISC-V on FPGA
  • 【10】C#实战篇——C# 调用 C++ dll(C++ 导出函数、C++导出类)
  • 华清远见25072班C语言学习day5
  • Advances and Challenges in Foundation Agents--Memory调研
  • WPF 双击行为实现详解:DoubleClickBehavior 源码分析与实战指南
  • 基于ffmpeg和rk3588的mpp编解码库多路融屏程序设计
  • 贝叶斯定理 vs 条件概率
  • Redis(⑤-线程池隔离)
  • 【从0到1制作一块STM32开发板】6. PCB布线--信号部分
  • React函数组件灵魂搭档:useEffect深度通关指南!
  • 如何实现在多跳UDP传输场景,保证单文件和多文件完整传输的成功率?
  • 三相交流电机旋转磁场产生原理
  • Django模型开发全解析:字段、元数据与继承的实战指南
  • Flutter开发 多孩子布局组件
  • [202403-B]算日期
  • 蓝桥杯----大模板
  • V4L2摄像头采集 + WiFi实时传输实战全流程
  • FreeRTOS入门知识(初识RTOS)(一)
  • Chat GPT5功能
  • 使用 Gulp 替换 XML 文件内容
  • 明厨亮灶场景下误检率↓76%:陌讯多模态融合算法实战解析
  • Ignite节点生命周期钩子机制详解
  • 基于Spring Boot的Minio图片定时清理实践总结
  • 如何使用Databinding实现MVVM架构