
前端VUE3
文章平均质量分 76
个人学习VUE3的各种笔记,欢迎交流
徐福记c
全栈工程师
展开
-
通过import实现懒加载,懒加载机制避免一次性加载所有组件代码,减少初始加载时间
Vue Router 会等待动态导入返回的 promise 解析完成,然后将解析得到的组件注册到对应的路由上,使得组件能够正常渲染。路径)被访问,需要该组件时,Webpack 才会去请求这个 chunk。当 Vue 路由系统需要加载对应的组件时,才会执行这个动态导入函数。在组件未被请求时,它不会被加载到内存中。它通过监听路由的变化来确定是否需要加载对应的组件。路径时,Vue Router 会触发组件的加载过程,即执行。组件对应的代码)单独打包成一个 chunk(代码块)。属性中的函数(动态导入函数)。原创 2025-04-25 18:01:37 · 192 阅读 · 0 评论 -
VUE3 路由部分解读
使用了 JavaScript 的函数式组件定义方式。import()是动态导入语法,它返回一个 Promise 对象。这里Layout是一个动态加载的 Vue 组件,当需要渲染时才会加载文件。这种方式可以实现代码分割(code - splitting),也就是按需加载组件,优化应用的初始加载性能。通过讲解代码的整体结构和实用开发技巧,新人应该对这个管理系统的路由配置有了较深入的理解。在实际开发中,要注意以下几点:灵活运用代码分割和懒加载技术,优化应用性能。充分利用路由的meta。原创 2025-04-25 10:36:03 · 655 阅读 · 0 评论 -
AppProvider组件的作用
主要是一个基于 Vue.js 和 naive-ui 库的全局配置提供组件,它为整个应用提供了统一的 UI 配置、状态管理和工具方法。我们将从代码结构、功能讲解和实用开发技巧三个方面进行分析。原创 2025-04-25 10:24:59 · 539 阅读 · 0 评论 -
App.vue的模板分析
例如,当用户点击导航栏中的 “首页”“用户管理”“订单管理” 等链接时,对应的组件就会在这个位置渲染展示出来。:这是 Vue.js 的模板部分,用于定义页面的结构和布局。:这是 Vue.js 的组合式 API 的一种写法,用于定义组件的逻辑部分。是一个可复用的组件,它可以在多个地方被引用,为不同的页面或功能模块提供统一的环境和功能支持。则是 Vue Router 组件化路由管理的体现,它使得页面的切换和组件的渲染更加灵活和高效。它会根据用户访问的 URL 地址,匹配到对应的路由配置,然后渲染相应的组件。原创 2025-04-25 10:20:28 · 241 阅读 · 0 评论 -
如何打造良好的CSS基础
* 自定义滚动条样式 */width: 8px;width: 0;width: 8px;height: 0;&:hover {这部分代码的作用是自定义滚动条的样式:创建了三种不同方向的滚动条样式(全向、横向、纵向)滚动条默认透明,鼠标悬停时显示灰色,进一步悬停在滚动条上时显示主色调滚动条尺寸设置为8px,比较细长,节省空间在管理系统中,自定义滚动条可以提升界面的专业感和一致性滚动条样式应与整体设计风格保持一致适当减小滚动条尺寸可以节省空间,但不宜过小以免影响操作。原创 2025-04-24 10:01:25 · 343 阅读 · 0 评论 -
CSS布局中rem、px的应用
绝对单位,直接对应屏幕上的物理像素点相对单位,相对于根元素(html 元素)的 font - size。原创 2025-04-24 09:52:17 · 326 阅读 · 0 评论 -
利用 axios 库创建了一个封装好的 axios 实例,用于发送 HTTP 请求
比如在开发环境,VITE_BASE_API 可以设置为本地开发服务器的 API 地址,而在生产环境则设置为正式的线上 API 地址,这样在打包部署时,根据不同环境就会自动使用相应的配置,无需手动修改代码里的配置。当收到响应之后,会先经过 resResolve 函数处理正常的响应情况,如果有错误响应(比如服务器返回错误状态码等)则经过 resReject 函数处理,这样可以统一处理响应结果,比如对返回的数据格式进行处理、对不同的错误状态码进行相应的提示等。原创 2025-04-23 10:38:24 · 534 阅读 · 0 评论 -
Vue.js 路由系统介绍
在前端开发中,路由(Routing)是管理页面跳转和路径映射的核心机制。它允许我们根据不同的 URL 地址展示不同的页面内容。Vue.js 通过vue-router来实现路由功能,它是一个官方的 Vue.js 路由器,可以让你轻松地实现页面之间的导航和组件的懒加载。原创 2025-04-22 10:29:04 · 289 阅读 · 0 评论 -
Sass是世界上最成熟、稳定和强大的专业级CSS扩展语言
但是 CSS 本身的功能在处理复杂的样式表时有一定的局限性,比如变量的使用不灵活、难以实现嵌套规则、无法进行函数式的操作等。Sass 脚本被编译后会生成标准的 CSS 样式表,使得开发者可以使用更简洁、更高效的方式来编写样式代码,然后通过编译过程将这些高级的 Sass 代码转换为浏览器可以识别的 CSS 代码。它可以提高代码的可维护性和可读性。使用一些前端构建工具,如 Node.js 的 Gulp、Webpack 等,通过相应的插件来集成 Sass 的编译过程,自动将 Sass 文件编译为 CSS 文件。原创 2025-04-20 23:38:31 · 302 阅读 · 0 评论 -
Vue 3 中常用的组合式 API(Composition API)
在 Vue 3 中,组合式 API(Composition API)提供了一种更灵活、更模块化的方式来组织组件逻辑。通过这些 API,组合式 API 提供了一种更灵活、更模块化的方式来组织组件逻辑,特别适合处理复杂的业务逻辑。是组合式 API 的入口函数,用于定义组件的逻辑。它在组件创建之前执行,并且是组合式 API 的核心。是一个更高级的监听 API,它会自动跟踪其内部的响应式数据,并在数据变化时重新执行。用于创建一个响应式的对象。用于监听响应式数据的变化,并执行相应的回调函数。:创建只读的响应式数据。原创 2025-04-15 16:36:22 · 328 阅读 · 0 评论 -
在 Vue 3 的 setup 函数中创建的 ref 或 reactive 变量,只有在通过 return 返回后,才能在 template 中直接引用
但是,VUE3 提供了新特性<script setup>语法糖,使得整个被包裹的代码块是一整个setup,无须写return语句,任何变量都可以被template直接引用。返回变量是 Vue 3 组合式 API 的核心机制之一,确保了组件逻辑和模板之间的正确通信。是 Vue 3 组合式 API 的核心函数,用于定义组件的逻辑。方法也没有返回,因此无法绑定到按钮的点击事件。,只有返回的变量或函数才能在。**:如果变量没有返回,它在。如果没有返回,这些变量在。中绑定到按钮的点击事件。如果变量未返回,它在。原创 2025-04-15 16:35:25 · 149 阅读 · 0 评论 -
const 关键字:为什么用const定义 ref 和 reactive 等响应式变量?
如果响应式对象的引用地址被改变,Vue 将无法正确追踪数据的变化,从而导致视图无法更新。声明的变量可以重新赋值,这可能导致开发者意外地改变响应式对象的引用地址,从而破坏 Vue 的响应式机制。可以确保这些响应式对象的引用不会被重新赋值,从而保证 Vue 的响应式系统能够正确追踪数据的变化。的不可变性可以帮助 Vue 的编译器和运行时进行优化,确保响应式系统的稳定性。确保响应式对象的引用地址固定,避免破坏 Vue 的响应式机制。返回的是响应式对象,这些对象的引用地址是固定的。对象,它的引用地址也是固定的。原创 2025-04-15 16:26:27 · 499 阅读 · 0 评论 -
v-on 的修饰符用于更精细地控制事件的行为
事件的默认行为会立即执行,而不会等待事件处理函数执行完毕(通常用于滚动事件)。只当事件是在该元素本身触发时才触发回调(即不包括子元素触发的事件)。还支持键盘事件的修饰符,用于限制键盘事件的触发条件。后,点击按钮时只会触发按钮的点击事件,不会冒泡到。阻止事件的默认行为(如表单提交、链接跳转等)。使用事件捕获模式(即事件从外到内传播时触发)。修饰符通常用于性能优化,特别是在滚动事件中。,点击提交按钮时会触发表单的默认提交行为。后,事件会在捕获阶段触发(从外到内)。时,事件默认是冒泡模式(从内到外)。原创 2025-04-15 15:38:40 · 361 阅读 · 0 评论 -
curl :从服务器传输数据的命令行工具,支持HTTP、HTTPS、FTP 等。
是一个用于从服务器传输数据的命令行工具,支持多种协议,如 HTTP、HTTPS、FTP 等。以下是 的基本语法和一些常用选项的解析:常用选项 ****:显示详细的请求和响应信息,用于调试。****:指定请求方法(如 、、、 等)。** 或 **:发送 POST 请求时附带的数据。** 或 **:添加自定义的 HTTP 请求头。** 或 **:将输出保存到指定的文件。** 或 **:用于 HTTP 认证,格式为 。** 或 **:允许与使用自签名证书的 HTTPS 服务器通信。** 或 **原创 2025-04-14 16:44:55 · 514 阅读 · 0 评论 -
OAuth 2.0 / 微信认证 解读
OAuth 2.0协议是一种授权框架,允许第三方应用在不获取用户密码的情况下访问用户的资源。:用户访问第三方应用并选择使用微信进行登录,应用会请求用户的授权。获取授权码(code):用户同意授权后,微信会重定向回应用的回调地址,并附带一个授权码。:应用使用授权码向微信服务器请求访问令牌。:应用使用访问令牌向微信服务器请求用户的基本信息,如昵称、头像等。开始↓用户点击第三方应用的微信登录按钮↓第三方应用重定向用户到微信授权页面↓用户在微信授权页面选择是否同意授权。原创 2025-04-14 15:37:39 · 1031 阅读 · 0 评论 -
基于Java Spring和Vue3开发符合GMP管理规范的电子签名软件模块
通过以上模块设计,可以实现一个符合GMP管理规范的电子签名系统,确保数据的安全性、完整性和可追溯性,同时提升用户体验和系统性能。支持文件的上传、存储和下载,可选择本地存储或云存储(如MinIO、阿里云OSS)。使用Java加密库实现签名数据的加密和解密,确保数据传输和存储的安全性。提供签名和文件的防伪校验功能,确保签名和文件的完整性和不可篡改性。支持基于盲水印技术的防伪设计,确保电子印章和文件的安全性。符合GMP规范的审计要求,确保数据的完整性和可追溯性。支持RSA公钥和私钥的管理,确保签名的不可否认性。原创 2025-04-09 14:20:49 · 344 阅读 · 0 评论 -
el-form 组件和 el-input 组件的关系
template><el-form-item label="用户名" prop="username"><el-form-item label="密码" prop="password"><el-button type="primary" @click="submitForm">提交</el-button></el-form>}){ required: true, message: '请输入用户名', trigger: 'blur' },原创 2025-03-16 11:09:14 · 890 阅读 · 0 评论 -
基于 Vue3 和 Element Plus 的登录/注册组件
它将普通对象转换为响应式对象,当对象中的属性发生变化时,视图会自动更新。是 Vue3 中用于创建响应式引用的函数,主要用于基本数据类型的响应式处理。是 Vue 中用于实现双向数据绑定的指令,主要用于表单输入和数据之间的同步。当这些属性的值发生变化时,视图中与它们绑定的部分(如输入框)会自动更新。的值发生变化时,视图中与它绑定的部分(如标题和按钮文本)会自动更新。的值在代码中被修改时,输入框的显示也会同步更新。的值,调用不同的 API 方法(登录或注册)。实现表单数据的双向绑定,将输入框的值与。原创 2025-03-16 10:22:19 · 623 阅读 · 0 评论 -
UnoCSS
UnoCSS 是一个即时的、按需的原子化 CSS 引擎,旨在提供快速、灵活且可定制的 CSS 解决方案。它的核心理念是根据你在模板中的类名,动态生成 CSS,避免了不必要的全局 CSS 加载。原创 2025-03-16 23:29:33 · 308 阅读 · 0 评论 -
TS+JS混合编程
如果需要与TypeScript代码交互,可以为JavaScript代码添加类型定义文件(.d.ts),以提供类型检查和自动补全功能。例如,创建一个types.d.tsid: number;这样,在JavaScript代码中使用这些接口时,编辑器可以提供更好的支持。通过以上方法,可以在带有TS代码的框架中使用JavaScript进行前端开发,同时充分利用框架的功能和优势。原创 2025-03-17 17:56:57 · 398 阅读 · 0 评论 -
VUE3代码,使用了element-plus,运行报错
缓存可能导致解析问题,尝试清除Vite和Node.js的缓存。安装之后,运行仍然报错。原创 2025-03-15 21:39:58 · 225 阅读 · 0 评论 -
el-form 表单组件
el-form组件是 Element Plus 中一个功能强大的表单组件,支持表单数据绑定、验证、重置等操作。通过合理的配置和使用,可以快速构建出功能完善的表单界面,提升开发效率和用户体验。原创 2025-03-16 10:55:33 · 473 阅读 · 0 评论 -
NaiveUI / AntDesign Vue
通知(NNotificationProvider):用于显示通知消息。消息提示(NMessageProvider):用于显示简单的消息提示。对话框(NDialogProvider):用于显示对话框。面包屑(NBreadcrumb):用于显示当前页面的路径。面包屑(Breadcrumb):用于显示当前页面的路径。通知(Notification):用于显示通知消息。消息提示(Message):用于显示简单的消息提示。抽屉(NDrawer):用于侧边弹出的面板。抽屉(Drawer):用于侧边弹出的面板。原创 2025-03-17 00:17:09 · 645 阅读 · 0 评论 -
代码分析:VUE3的注册登录页面
动态切换:通过isLogin的布尔值,可以动态切换登录和注册界面。响应式表单:使用 Vue 的双向绑定,实时获取用户输入。API 集成:通过调用auth模块的登录和注册方法,与后端进行交互。状态管理:使用 Pinia 的authStore来存储用户认证状态。用户体验:通过 Element Plus 的组件和消息提示,提供良好的用户交互体验。这个组件可以作为一个独立的模块集成到 Vue.js 项目中,用于处理用户的登录和注册功能。原创 2025-03-15 17:16:59 · 411 阅读 · 0 评论 -
VueUse
是一个基于 Vue Composition API 的实用工具函数集合,旨在简化 Vue 应用的开发。它提供了100 多个组合式 API 函数,覆盖了数据请求、状态管理、视图操作、性能优化等多个方面,帮助开发者更高效地构建 Vue 应用。VueUse 和 Vue 的关系是 VueUse 是基于 Vue 的 Composition API 开发的,它利用 Vue 的响应式系统和生命周期等特性,为开发者封装了许多常用的逻辑和功能。原创 2025-03-17 00:12:23 · 988 阅读 · 0 评论 -
计算属性在 Vue 中的主要作用
将复杂的计算逻辑提取到计算属性中。:自动追踪依赖并重新计算。:缓存结果,提高性能。:对数组或条件进行预处理。:实时验证输入并更新 UI。通过合理使用计算属性,可以使代码更清晰、更高效,同时提高组件的可维护性。原创 2025-03-17 18:10:23 · 236 阅读 · 0 评论 -
pnpm monorepo 架构
pnpm monorepo 是指使用 pnpm 包管理器来管理的单体仓库(Monorepo)项目。它允许在一个代码仓库中管理多个项目或包,这些项目可以是独立的,也可以相互依赖,通过 pnpm 的工作区(workspace)功能来实现高效的依赖管理和构建流程。原创 2025-03-16 23:33:18 · 277 阅读 · 0 评论 -
响应式的卡片数据展示组件
基于 Vue 3 和 TypeScript 的组件,用于展示一组卡片数据,每个卡片包含标题、图标和数值,并带有渐变背景效果。:通过$t函数动态获取标题文本。:使用可复用模板组件GradientBg为每个卡片应用渐变背景。:通过NGrid和NGi实现不同屏幕尺寸下的自适应布局。:通过v-for循环渲染卡片数据。:结合图标和数字计数器增强用户体验。原创 2025-03-17 23:31:18 · 954 阅读 · 0 评论 -
基于 Vue3 的基础布局组件(BaseLayout)
);使用定义组件的选项,设置组件名为BaseLayout。使用定义异步加载的GlobalMenu组件,按需加载以优化性能。原创 2025-03-18 23:30:23 · 323 阅读 · 0 评论 -
$t 实现国际化(i18n)功能
在 Vue.js 项目中,$t是 Vue I18n 插件提供的一个方法,用于实现国际化(i18n)功能。它允许开发者根据当前的语言环境(locale)和提供的键(key),返回对应的翻译文本,从而轻松地为应用提供多语言支持。原创 2025-03-17 22:14:26 · 904 阅读 · 0 评论 -
TS中的命名空间(Namespace)
命名空间在 TypeScript 中是一种强大的工具,用于组织代码、避免命名冲突、模拟模块行为以及扩展全局对象。虽然现代 TypeScript 更倾向于使用 ES6 模块,但在某些场景下,命名空间仍然是非常有用的。原创 2025-03-19 09:12:57 · 478 阅读 · 0 评论 -
分析 TypeScript 声明文件,定义了一个名为 App 的全局命名空间及其子命名空间中的各种类型、接口和工具
一个大型的 TypeScript 声明文件,定义了一个名为App的全局命名空间及其子命名空间中的各种类型、接口和工具。它主要用于声明一个应用程序的全局结构、主题设置、国际化(i18n)支持、服务配置等。原创 2025-03-19 09:06:17 · 543 阅读 · 0 评论 -
基于 Vue 3 (TypeScript 和 Naive UI 组件库)的项目信息展示页面
基于 Vue 3 的项目信息展示页面,使用了 TypeScript 和 Naive UI 组件库。实现了一个响应式的项目信息展示页面,主要功能包括:展示项目简介、基本信息、依赖项和开发依赖项。根据设备类型调整布局(移动端为单列,桌面端为双列)。使用本地化支持多语言展示。通过 Naive UI 组件库实现现代化的界面设计。代码结构清晰,功能完善,适合用于项目管理、文档展示等场景。原创 2025-03-17 18:17:50 · 1086 阅读 · 0 评论 -
TypeScript 的 Pick 类型辅助工具
TypeScript 的Pick类型辅助工具用于从一个类型中选择特定的属性,从而创建一个新类型。它允许你从一个现有的类型中“挑选”出某些属性,形成一个新的子集类型。原创 2025-03-19 08:08:25 · 170 阅读 · 0 评论 -
基于 Vue 3 和 vue-i18n 实现的国际化功能的配置和封装
基于 Vue 3 和 vue-i18n 实现的国际化功能的配置和封装的index.ts文件:实现了 Vue 应用的国际化功能,通过合理的配置和封装,使得在应用中使用国际化变得简单方便。同时,代码考虑了本地存储用户语言设置和语言回退机制,提升了用户体验和应用的健壮性。以下是代码的解读和逻辑分析: 导入 Vue 的 类型,用于类型检查。导入 函数,用于创建国际化实例。导入 ,可能是本地存储工具,用于获取用户设置的语言。导入 ,包含多语言翻译内容。 :设置当前语言,优先从本地存储获取,原创 2025-03-17 23:19:28 · 166 阅读 · 0 评论 -
通过TypeScript 的命名空间和类型系统,详细地定义了一个后端 API 的数据结构和请求参数格式
通过 TypeScript 的命名空间和类型系统,详细地定义了一个后端 API 的数据结构和请求参数格式,涵盖了认证授权、路由管理、系统管理(包括角色、API、日志、用户、菜单等)等多个模块。每个模块中的类型和接口都经过精心设计,充分考虑了数据的通用性和业务的特殊性,通过继承、泛型、交叉合并等 TypeScript 特性,使得类型定义既灵活又严谨,能够很好地支持前端在调用后端 API 时进行类型检查和代码补全,提高开发效率和代码质量。同时,这种模块化的类型定义方式也有利于代码的维护和扩展,当。原创 2025-03-19 08:06:25 · 684 阅读 · 0 评论 -
在 TypeScript 中,interface 和 class 的区别
interface是一种抽象的类型定义,用于描述对象的结构,不能实例化,主要用于类型检查。class是一种代码模板,用于定义对象的结构和行为,可以通过new关键字实例化,适用于定义具体的行为和状态。在实际开发中,可以根据需求选择合适的工具。如果只需要描述对象的结构,使用接口;如果需要定义对象的行为并创建实例,使用类。原创 2025-03-19 09:32:39 · 547 阅读 · 0 评论 -
base-layout页面解读
“Base Layout” 是基础布局页面。它定义了应用的整体结构和样式,是所有页面的公共部分。本基础页面适合在数据看板或仪表盘中使用:导入依赖: :Vue 的响应式 API,用于创建计算属性。:来自 ,用于创建可复用的模板组件。:本地化函数,用于多语言支持。定义组件选项: 设置组件名称为 ,便于调试和识别。定义接口 : 描述每个卡片数据的结构: : 唯一标识符。: 标题(支持多语言)。: 数值。: 单位(如 )。: 渐变色起始和结束颜色。原创 2025-03-18 00:22:53 · 564 阅读 · 0 评论 -
<LookForward />显示一个带有图标的界面
使用 Vue 3 和 TypeScript 创建的单文件组件(SFC),使用了 TypeScript 和 Composition API 的setup语法糖。模板部分渲染了一个名为的子组件,样式部分目前为空但被标记为作用域限定。原创 2025-03-18 23:22:01 · 855 阅读 · 0 评论 -
TypeScript 中& T 将多个类型组合成一个新的类型
T的方式在 TypeScript 中用于创建交叉类型,将多个类型的特征合并到一个新类型中。这在需要组合多个接口或类型的功能时非常有用,尤其是在泛型编程中。原创 2025-03-19 08:10:08 · 312 阅读 · 0 评论