
vue.js
文章平均质量分 88
从基础介绍vue,一步一步深入
layman0528
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Vuex工作原理
data。原创 2025-06-21 10:30:00 · 573 阅读 · 0 评论 -
Vue 中的作用域插槽:Vue2 与 Vue3 的深度剖析
本文深度剖析了Vue2与Vue3中的作用域插槽特性。作用域插槽允许子组件向父组件传递数据,由父组件决定如何显示。Vue2支持slot-scope和v-slot两种语法,但存在多语法共存问题;Vue3则统一使用v-slot及其缩写#,并优化了数据解构方式。Vue3还结合新响应式系统和Composition API,提升了性能表现和开发体验。文章对比了两版本差异,并列举了表格组件、弹窗等典型应用场景,建议Vue3项目充分利用新特性构建高效组件系统。原创 2025-06-20 10:30:00 · 871 阅读 · 0 评论 -
Vue 中的具名插槽:Vue2 与 Vue3 的深度解析
本文深入解析了Vue2和Vue3中具名插槽的差异与应用。具名插槽作为Vue组件化开发的核心机制,允许父组件精准控制子组件的内容分发。Vue2支持slot指令和v-slot指令两种写法,而Vue3统一使用v-slot及其缩写#,语法更加简洁。Vue3还通过响应式优化提升了插槽性能,改进了作用域插槽的数据传递方式。对比显示,Vue3在语法统一性、性能表现和开发体验上均有显著提升,更适合新项目开发,而Vue2则更适用于旧项目维护。原创 2025-06-20 10:00:00 · 854 阅读 · 0 评论 -
Vue中的默认插槽:Vue2与Vue3的对比解析
默认插槽是Vue中最基本的插槽类型,也被称为匿名插槽。当组件模板中只有一个没有名称的插槽时,该插槽就是默认插槽。它的作用是为组件提供一个通用的内容插入位置,允许父组件向子组件传递任意内容,包括HTML标签、文本、其他组件等。默认插槽作为Vue组件化开发的基础特性,在Vue2和Vue3中都扮演着重要角色。虽然Vue3对插槽语法进行了重构,但核心概念和渲染机制保持一致。开发者在使用时应根据项目需求和技术栈选择合适的实现方式,并注意Vue2到Vue3迁移时的语法变化。原创 2025-06-19 13:00:00 · 676 阅读 · 0 评论 -
Vue 中的 vue-resource:Vue2 与 Vue3 的应用
是 Vue 官方在早期推荐使用的 HTTP 请求插件,它通过将 HTTP 请求功能整合到 Vue 实例中,提供了一套简单易用的 API,方便开发者在 Vue 组件中进行 GET、POST、PUT、DELETE 等常见的 HTTP 请求操作。支持多种数据格式的处理,如 JSON、XML、文本等,并且内置了拦截器、超时处理等功能,能满足项目开发中大部分的 HTTP 请求需求。原创 2025-06-19 11:15:00 · 3528 阅读 · 6 评论 -
Vue 中的配置代理
配置文件不同:Vue2 使用,而 Vue3 在 Vite 构建下使用。语法细节差异:在路径重写等属性的名称和用法上存在一些不同,如 Vue2 的和 Vue3(Vite)的rewrite。构建工具特性影响vue-cli和 Vite 的构建机制不同,导致代理配置在生效速度、热更新等方面存在差异,Vite 在开发体验上更具优势。但无论是 Vue2 还是 Vue3,配置代理的核心目的都是为了解决跨域问题,方便开发者在开发阶段进行接口调试和数据请求。原创 2025-06-18 08:23:44 · 891 阅读 · 0 评论 -
Vue动画_从Vue2到Vue3
Vue的动画系统为开发者提供了强大而灵活的工具,无论是简单的过渡效果还是复杂的交互动画,都能轻松实现。Vue3在继承Vue2动画系统的基础上,通过组合式API和性能优化,进一步提升了动画的开发体验和运行效率。简单过渡效果:优先使用CSS过渡和Vue内置的组件复杂动画逻辑:使用JavaScript钩子或结合第三方库性能敏感场景:注意动画属性的选择和优化。原创 2025-06-18 15:45:00 · 1965 阅读 · 0 评论 -
Vue 中的 $nextTick
Vue中的$nextTick是处理异步DOM更新的关键API。Vue2和Vue3在实现原理上有所不同:Vue2依赖多种异步机制(Promise、MutationObserver、setTimeout等),而Vue3主要使用queueMicrotask和Promise实现。使用场景类似,都用于数据更新后操作DOM,如获取更新后的元素尺寸或实现交互动画。Vue3的性能更优,代码更简洁。开发者应根据不同版本选择合适写法:Vue2使用this.$nextTick(),Vue3通过import引入nextTick函数原创 2025-06-18 10:00:00 · 816 阅读 · 0 评论 -
Vue中的消息订阅与发布
消息订阅与发布模式是一种设计模式,它定义了对象间的一对多依赖关系。当一个对象的状态发生改变时,所有依赖它的对象都会得到通知并自动更新。发布者(Publisher):负责发布消息,但不关心谁接收消息订阅者(Subscriber):订阅感兴趣的消息,并定义处理逻辑消息中心(Event Bus):作为中介,负责管理订阅关系和消息分发if (!},},特性Vue2Vue3核心实现Vue实例作为事件总线第三方库(如mitt)或自定义生命周期管理。原创 2025-06-17 14:38:27 · 1038 阅读 · 0 评论 -
Vue 中的全局事件总线:Vue2 与 Vue3 的实现与对比
在 Vue 项目开发过程中,组件间通信是一个绕不开的话题。当涉及到兄弟组件、隔代组件之间的数据传递与事件触发时,全局事件总线(Global Event Bus)就成为了一种高效且常用的解决方案。Vue2 和 Vue3 在实现全局事件总线的方式上既有相似之处,也存在差异,本文将深入探讨这两种版本中全局事件总线的原理、使用方法,并通过实例展示其具体应用。原创 2025-06-17 06:09:58 · 1128 阅读 · 0 评论 -
Vue实现图像对比组件:打造交互式图片比较工具
摘要 本文介绍了如何使用Vue 3构建交互式图像对比组件。该组件适用于设计对比、产品展示等场景,支持鼠标拖动和触摸操作。核心实现基于clipPath裁剪技术和事件处理逻辑,通过动态计算滑块位置来显示不同图片区域。组件包含响应式设计、平滑动画和自动隐藏的标签功能。文章提供了完整代码示例,包括滑块轨道、手柄和标签的样式与交互逻辑。该解决方案可灵活应用于各类需要图像对比的前端项目中。原创 2025-06-11 09:43:51 · 1104 阅读 · 0 评论 -
vue 自定义组件的事件绑定
Vue 2 中model: {},methods: {toggle() {使用方式:Vue 3 中(支持多个 v-model)-- 子组件 --> < script setup > defineProps([ 'modelValue' ]) const emit = defineEmits([ 'update:modelValue' ]) function updateValue(val) {原创 2025-05-30 08:07:58 · 858 阅读 · 0 评论 -
浏览器本地存储
实践建议描述✅ 使用 JSON 存储结构化数据✅ 设置命名空间(如:app_user_token)✅ 页面加载时读取必要状态,如语言、暗黑模式❌ 不存储敏感信息❌ 不依赖 localStorage 实现身份认证(使用 Cookie + HttpOnly 更安全)Cookie 是浏览器存储在用户计算机上的小型文本文件,通常用于:• 保存登录状态• 记录用户行为• 与服务器共享状态信息。原创 2025-05-29 19:15:00 · 1372 阅读 · 0 评论 -
vue中的 scoped样式
Vue中的scoped样式提供了组件级别的样式隔离机制。通过为DOM元素添加唯一data属性并修改CSS选择器实现作用域限制。本文详细介绍了scoped的基本用法、作用原理,以及深度选择器::v-deep的应用场景。对比了scoped与非scoped样式的差异,并给出使用建议:常规组件推荐使用scoped,公共样式可以全局定义。文中还包含Vue 3的示例,演示了父组件如何穿透子组件样式边界,以及CSS Modules的替代方案。这些技术能有效管理组件样式,避免命名冲突,提升开发效率。原创 2025-05-29 11:15:00 · 716 阅读 · 0 评论 -
vue 中的ref属性
Vue 中 ref API 在 Vue 2 和 Vue 3 中的核心差异:Vue 2 仅用于 DOM/组件引用(通过 $refs 访问),而 Vue 3 扩展为响应式数据管理工具(需通过 .value 访问)。Vue 3 的 Composition API 引入 ref() 创建响应式变量,支持基础类型数据,与 reactive() 形成互补。对比显示 Vue 3 在类型支持、组合式函数和编程风格上的优势,推荐使用 script setup 语法配合 ref 实现更灵活的响应式编程。原创 2025-05-28 17:45:00 · 845 阅读 · 0 评论 -
vue中的render函数
摘要:Vue中的render函数是模板的编程式替代方案,通过h(createElement)函数构建虚拟DOM。它支持基础元素渲染、组件使用、条件/列表渲染及插槽功能,比模板更灵活但可读性较差。render函数特别适合动态结构生成、跨组件复用和插件开发场景,可与JSX语法配合使用。与模板相比,render提供更强的灵活性和跨平台支持,但牺牲了部分可读性,开发者应根据项目需求选择合适方案。(149字)原创 2025-05-28 10:30:00 · 821 阅读 · 0 评论 -
理解vue-cli 中进行构建优化
本文介绍了Vue CLI项目构建优化的多种方法,包括基础优化(生产环境设置、gzip压缩)、代码优化(路由懒加载、CDN引入)、Webpack配置优化(缓存、包分析)和资源优化(图片压缩)。文章提供了详细的配置代码示例,并总结了一个包含8项优化措施的对照表,展示了各项优化方法及其效果。最后给出一个完整的vue.config.js配置示例,涵盖关闭source map、CDN引入、gzip压缩、图片压缩等核心优化功能,为前端性能提升提供了实践指导。原创 2025-05-27 18:37:51 · 1019 阅读 · 0 评论 -
理解vue-cli中的自定义插件
Vue CLI 插件开发指南摘要: Vue CLI 插件是扩展Vue项目功能的npm包,包含Webpack配置、依赖注入和代码模板。开发时需创建符合规范的目录结构(index.js主入口、generator/template模板文件夹、可选的prompts.js交互文件)。 核心功能通过api对象实现:api.render()注入模板、api.extendPackage()修改依赖、api.chainWebpack()调整配置。插件支持通过prompts.js实现交互式选项,还能添加自定义CLI命令。 发布原创 2025-05-27 09:43:43 · 535 阅读 · 0 评论 -
理解vue-cli中的webpack
Vue CLI 核心使用指南 Vue CLI 是官方提供的标准化 Vue 项目构建工具,具有开箱即用的 Webpack 配置。核心功能包括: 快速初始化项目结构(vue create) 内置开发服务器和热更新 提供三种 Webpack 配置方式: 基础配置(outputDir等) configureWebpack合并配置 chainWebpack链式精细控制 支持代码分包、懒加载等优化 可通过vue inspect查看完整配置 典型应用场景:快速构建标准化Vue项目,通过vue.config.js定制构建流原创 2025-05-27 09:36:02 · 1079 阅读 · 0 评论 -
vue实例 与组件实例
本文对比了Vue实例与组件实例的核心区别与联系。Vue实例(new Vue())是应用根节点,而组件实例(Vue.extend())是局部功能单元。两者都通过_init()进行初始化,共享生命周期、响应式系统等特性。Vue 3中两者统一性更强,使用createApp()和函数组件。关键区别在于:Vue实例是唯一入口,组件实例可嵌套复用,具有父子关系。本质上,组件实例是Vue实例的子类实例,实现机制类似但应用场景不同。原创 2025-05-26 14:02:36 · 773 阅读 · 0 评论 -
Vue中的 VueComponent
Vue组件机制解析 Vue组件本质上是通过Vue.extend()创建的构造函数实例(或Composition API创建)。组件注册分为全局注册和局部注册两种方式,通过props实现父向子传值,通过$emit触发事件实现子向父通信。组件生命周期包含8个核心钩子函数,从创建到销毁的完整周期。在底层实现上,每个组件都是Vue的子类,通过原型继承实现功能扩展。组件渲染过程包括模板编译、生成VNode、DOM挂载等步骤,响应式更新则依赖Observer、Dep和Watcher机制。源码分析揭示了组件从注册、初始化原创 2025-05-26 09:47:02 · 960 阅读 · 0 评论 -
Vue.extend
摘要: Vue.extend 是 Vue 2 中基于组件配置创建可复用构造函数的 API,常用于动态生成弹窗、消息提示等组件。其核心是通过继承 Vue 构造器生成新构造函数,支持实例化、propsData 传参及手动挂载。但在 Vue 3 中已被移除,推荐使用 defineComponent 和 Composition API 替代。 关键点: 用途:动态组件、插件封装(如弹窗) 原理:继承 Vue 构造器,生成可实例化的子类 注意事项:需手动销毁实例,避免内存泄漏 Vue 3 替代方案:defineCom原创 2025-05-25 17:14:18 · 775 阅读 · 0 评论 -
vue——v-pre的使用
v-pre 指令详解 v-pre 是 Vue 中的一个指令,用于跳过指定元素及其子元素的编译过程,直接输出原始 HTML 内容。它适用于展示未编译的 Mustache 插值语法(如 {{ xxx }})或在模板中展示代码示例。使用 v-pre 时,Vue 会忽略该元素内的所有指令和插值表达式,仅保留原始 HTML 结构。例如,<p v-pre>{{ name }}</p> 会直接渲染为 {{ name }},而不会解析为变量值。 v-pre 的优先级最高,会覆盖其他指令(如 v-if原创 2025-05-23 16:45:04 · 799 阅读 · 0 评论 -
vue 中的v-once
Vue.js 中的 v-once 指令用于确保元素或组件仅渲染一次,后续数据变化不会影响其内容。它适用于静态内容或首次加载后不需要更新的数据,能够显著提升渲染性能,特别是在包含大量静态内容的场景中。v-once 不仅适用于文本,还可用于组件和 DOM 树。然而,它不适合用于需要响应式更新的数据或交互式组件。在 Vue 2 和 Vue 3 中,v-once 的语法和核心功能一致,但 Vue 3 通过自动静态提升进一步优化了性能,减少了对 v-once 的依赖。总体而言,v-once 是优化静态内容的有效工具,原创 2025-05-23 16:38:40 · 877 阅读 · 0 评论 -
vue中v-clock指令
v-cloak 是 Vue.js 中的一个指令,用于防止在 Vue 实例挂载完成前,用户看到模板中的插值语法(如 {{ message }})闪烁。通过在元素上添加 v-cloak 并结合 CSS 隐藏该元素,Vue 在挂载完成后会自动移除 v-cloak 属性,从而避免模板闪烁。v-cloak 在 Vue 2 和 Vue 3 中的行为基本一致,但 Vue 3 提供了更现代的替代方案,如 <Suspense> 组件和组合式 API,用于更精细地控制异步加载和初始化状态。对于简单页面,v-cloa原创 2025-05-23 16:22:46 · 1181 阅读 · 0 评论 -
vue2 中的过滤器以及vue3中的替换方案
Vue 2 中的过滤器是一种用于模板中数据格式化的语法糖,通过纯函数对数据进行处理而不改变原始数据。过滤器可以在全局或局部定义,并通过插值语法使用,支持链式调用。常见的应用场景包括日期格式化、金额处理和首字母大写等。然而,过滤器存在一些局限性,如仅能在插值表达式中使用、无法接收多个参数,并且在 Vue 3 中已被废弃。Vue 3 推荐使用计算属性、方法或全局工具函数来替代过滤器功能,以实现更清晰和灵活的模板逻辑。原创 2025-05-23 09:14:01 · 563 阅读 · 0 评论 -
vue 中 v-model 的使用,包括number、trim、lazy
在 Vue 中,使用 v-model 指令可以方便地收集表单数据,实现双向绑定。通过示例展示了如何收集文本输入框、复选框、单选框和下拉菜单的数据。表单提交时,使用 @submit.prevent 防止页面刷新,并通过 handleSubmit 方法处理数据。v-model 还提供了 .number、.trim 和 .lazy 等修饰符,分别用于将输入值转换为数字、去除首尾空格以及延迟数据更新。这些修饰符可以单独或组合使用,以满足不同的表单处理需求。原创 2025-05-23 08:59:44 · 405 阅读 · 0 评论 -
vue.js 更新数据时,出现数据更新,界面没有更新的情况【普通对象,不包含数组】
在Vue 2中,直接通过索引修改数组元素(如 this.persons[0] = {...})不会触发视图更新,因为Vue 2的响应式系统基于 Object.defineProperty,无法直接监听数组索引的变化。为了解决这个问题,可以使用 Vue.set 或 this.$set 方法来确保数据的响应式更新。 在原始代码中,点击按钮时,第一行数据的 name 并未从“张伟”变为“张伟111”,因为直接赋值的方式未触发Vue的响应式机制。修改后的代码使用了 this.$set 方法,确保数组元素的更新能够被原创 2025-05-17 10:59:40 · 702 阅读 · 0 评论 -
vue.js中的列表过滤+排序
/</</</</</</</</varnewVue'#app'datareturn''1'张伟'32'男'2'王芳'28'女'3'李娜'25'女'4'赵强'40'男'5'刘洋'30'男'6'陈静'27'女'7'杨磊'35'男'8'黄丽'26'女'9'吴杰'38'男'10'周敏'29'女'truehandlernewValthisthis。原创 2025-05-16 11:45:00 · 812 阅读 · 0 评论 -
vue-router 中传递参数中的问题
类型Vue Router 如何处理原因/设计逻辑path当字符串处理,完全按原样跳转提高灵活性,用户需要自己拼接params只有在配合 name 时才被识别和替换需要依赖已注册的路由模板来进行映射query总是有效(无论用 path 或 name)因为它只是附加在 URL 后的?key=value目标推荐做法可传可不传的参数使用 query 最灵活希望路径中体现参数用 params + 手动处理(或多个路由)简洁优雅但不强依赖参数。原创 2025-05-16 10:30:00 · 1126 阅读 · 0 评论 -
用vue2去做一个商城[vue2+bootstrap]
使用vue-cli 新建项目。原创 2025-05-20 12:15:00 · 822 阅读 · 0 评论 -
vue.js中的循环渲染中的key
在 Vue.js 中,使用 v-for 渲染列表时,:key 的作用至关重要。它作为每个节点的唯一标识,帮助 Vue 在虚拟 DOM 的 diff 过程中更高效、准确地识别和更新节点。如果没有指定 key,Vue 只能通过节点顺序进行匹配,可能导致错误的元素复用。而使用 key 后,Vue 能够精准定位节点的移动、新增或删除,从而优化 DOM 操作。例如,在动态添加列表项时,如果 key 使用 index,可能导致输入框内容错位,而使用唯一标识(如 id)则可以避免这一问题。因此,合理设置 key 是确保列原创 2025-05-15 10:00:00 · 794 阅读 · 0 评论 -
vue.js中的渲染【列表渲染】
Vue 中的列表渲染通过 v-for 指令实现,允许遍历数组、对象或数字范围,生成相应的 DOM 元素或组件。基本语法为 v-for="item in items",支持索引、键值对等扩展形式。v-for 可以与组件配合使用,并通过 <template> 包裹多个元素。注意事项包括避免同时使用 v-for 和 v-if,以及确保 key 的唯一性以优化性能。v-for 的本质是将数据映射为虚拟 DOM 节点,Vue 通过 key 进行 diff 算法优化,避免不必要的 DOM原创 2025-05-15 08:45:00 · 854 阅读 · 0 评论 -
vue.js中的template标签
特性说明不会渲染成真实 DOM是的,运行时会“解开”编译阶段可识别Vue 编译器知道如何把它转换成渲染函数提高语法灵活性可包裹多个元素,使指令或插槽更加灵活层级本质语法包裹多个子节点,不渲染自身编译被“解开”为多个子节点运行没有虚拟 DOM 节点,只存在子节点使用在条件渲染、插槽、循环中控制结构特性语法糖、增强表达力、结构更清晰。原创 2025-05-14 08:20:46 · 918 阅读 · 0 评论 -
vue.js中的渲染【条件渲染】
在 Vue 中,条件渲染用于根据表达式的值来决定是否在 DOM 中渲染某个元素。原创 2025-05-14 07:41:15 · 1020 阅读 · 0 评论 -
vue 中绑定样式 【style样式绑定】
绑定方式数据类型特点字符串简单直接,功能有限对象响应式强、推荐使用数组支持样式叠加与条件合并功能推荐语法用途简单样式绑定对象语法 {}常规样式多样式组合数组语法 []条件样式更复杂逻辑计算属性 + 对象高可读性与类名配合使用结构 + 外观自动前缀Vue 内部处理跨浏览器兼容。原创 2025-05-13 09:54:01 · 2053 阅读 · 0 评论 -
vue 中绑定样式 【class样式绑定】
Vue 中的 :class(或 v-bind:class)用于动态绑定类名,支持字符串、对象和数组三种语法。字符串语法直接绑定类名,对象语法根据布尔值动态添加或移除类名,数组语法则允许组合多个类名。Vue 的响应式机制确保类名随数据变化自动更新。此外,class 绑定可以与计算属性结合,简化复杂逻辑,并支持动态类名前缀和组件类名传递。在实际开发中,class 绑定常用于动态样式控制,尤其在结合 Tailwind 等原子化 CSS 框架时,提供了灵活的样式管理方式。原创 2025-05-13 09:26:25 · 746 阅读 · 0 评论 -
vue 中的数据代理
Vue 中的数据代理是实现 MVVM 模式的关键技术之一,它允许开发者通过 this.message 直接访问 data.message,而无需使用 this.data.message,从而简化了代码。Vue 2 通过 Object.defineProperty 实现数据代理,将 data 中的属性代理到 Vue 实例上。Vue 3 则使用 Proxy 实现响应式代理,数据代理的需求被弱化,但仍存在。数据代理的主要目的是简化访问方式,而非实现响应式机制。Vue 2 和 Vue 3 在数据代理和响应式代理的实原创 2025-05-11 21:33:17 · 484 阅读 · 0 评论 -
vue中理解MVVM
Vue 的核心设计思想之一是 MVVM(Model-View-ViewModel)模式,它通过数据驱动的视图更新和代码结构分离,提升了开发效率和代码可维护性。在 Vue 中,Model 代表数据层(如 data、computed),View 是视图层(如模板/DOM),而 ViewModel 则是 Vue 实例,负责连接 Model 和 View,实现双向绑定。Vue 的响应式系统自动检测数据变化并更新 DOM,同时通过 v-model 等指令实现视图到数据的同步。MVVM 模式解耦了视图和逻辑,简化了 D原创 2025-05-11 21:25:46 · 613 阅读 · 0 评论 -
Vue 中el和data的两种写法
写法用于 Vue 版本说明el: ‘#app’Vue 2简单场景下的快捷挂载Vue 2手动控制挂载时机Vue 3Vue 3 的标准挂载方式使用场景写法是否推荐说明Vue 2 根实例data: {}✅ 可用仅限于 new Vue(…)Vue 2 组件✅ 推荐避免组件之间共享同一数据对象Vue 3使用 ref() / reactive()✅ 推荐完全替代 data。原创 2025-05-11 08:16:53 · 1167 阅读 · 0 评论