
Vue
文章平均质量分 67
guokanglun
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
vue常用的一些指令整理
在 Vue.js 中,指令(Directives)是特殊的 HTML 属性,用于在模板中绑定行为。Vue 提供了许多内置指令,你也可以定义自定义指令。防止未编译内容闪烁,用于保持元素隐藏,直到 Vue 实例准备完毕。Vue 支持创建自定义指令,用于处理复杂的 DOM 操作。通过 Vue 的指令,你可以轻松实现模板与数据的高效绑定。条件渲染,根据表达式的值动态添加或移除 DOM。修饰符是以点开头的后缀,用于修改指令的行为。一次性绑定,渲染后不会更新。用于双向绑定表单元素的值。用于动态绑定属性或特性。原创 2024-12-17 17:27:43 · 442 阅读 · 0 评论 -
vue结合canvas动态生成水印效果
使用 Canvas 动态生成水印,并将其作为背景图应用。以上方法可以根据需求选择适合的方式实现水印效果。如果需要复用,可以封装一个通用的水印组件。直接通过 CSS 的。原创 2024-12-03 16:48:49 · 858 阅读 · 0 评论 -
vue key属性强制刷新组件
在 Vue 中,key属性通常用来帮助 Vue 跟踪每个组件或元素的身份,尤其是在使用v-for渲染列表时。当key值发生变化时,Vue 会销毁并重新渲染组件,这也可以用于强制刷新组件。如果你想强制刷新一个组件,可以通过动态更改该组件的key来实现。每当key的值改变时,Vue 会销毁并重新创建该组件,从而实现刷新效果。原创 2024-12-03 14:52:04 · 882 阅读 · 0 评论 -
vue2组件跨层级数据共享provide 和 inject
provide:在父组件中定义共享的数据。inject:在子组件中接收父组件提供的数据。默认情况下,数据是非响应式的。如果需要响应式,应该在data()中定义数据。provide和inject适合处理不需要通过props或emit逐层传递的跨层级数据共享。原创 2024-12-02 14:41:10 · 1438 阅读 · 0 评论 -
vue3组件跨层级数据共享provide 和 inject
provide和inject提供了一种简单的方式在 Vue 组件树中实现跨层级数据共享。它们避免了props和事件的逐层传递,适合管理全局状态或共享逻辑。对于复杂的场景,Vue 提供的Pinia或Vuex可能是更好的选择。原创 2024-12-02 14:40:33 · 812 阅读 · 0 评论 -
vue开发中v-for和v-if一起使用
在 Vue.js 中,v-for和v-if是常用的指令,但将它们一起使用时需要注意,因为可能会引起性能和逻辑上的问题。原创 2024-12-02 11:23:14 · 550 阅读 · 0 评论 -
Vue 3 的双向绑定原理
响应式系统(Proxy + Dependency Tracking)来追踪数据变化。v-model指令来实现父子组件间的数据同步。事件触发和数据更新(通过)实现父子数据的双向绑定。这种方式相比于 Vue 2 中的和data方式,Vue 3 的响应式系统更加高效且易于扩展。原创 2024-11-29 16:55:58 · 1560 阅读 · 0 评论 -
Vue如何加载十万条数据
加载十万条数据需要结合前端和后端的优化。分页加载:按需加载数据,每次只渲染一部分。虚拟滚动:仅渲染当前视口中的数据,减少 DOM 节点数。懒加载与后端分页:通过与后端协作,避免一次性加载所有数据。Web Worker:将计算密集型任务交给后台线程,避免主线程阻塞。这些方法可以单独使用,也可以根据需求组合使用,从而在不影响用户体验的前提下,加载并展示大量数据。原创 2024-11-29 14:15:08 · 761 阅读 · 0 评论 -
Vue 开发中为什么要使用穿透符::deep()
这样,你可以在父组件中应用样式来影响子组件的样式,尤其是当你无法直接修改子组件代码时。是一个 Vue 3 中的特殊选择器,用来进行样式穿透,能够影响嵌套的子组件样式。可以穿透作用域样式,但它仍然会影响到子组件的样式,因此可能会导致子组件的样式被外部影响,破坏组件的封装性。在实际开发中,优先考虑保持组件样式隔离,避免直接修改子组件样式,以提高组件的可维护性和独立性。)的方式,为每个组件的 DOM 节点加上标记,从而实现样式的作用域隔离。元素上,即使它是在子组件中定义的,也能被父组件的样式影响。原创 2024-11-28 16:48:35 · 966 阅读 · 5 评论 -
vue多页面应用集成时权限处理问题
在多页面应用(MPA)中,权限管理通常会涉及到每个页面的访问控制、身份验证、以及权限校验。原创 2024-11-28 11:52:55 · 952 阅读 · 0 评论 -
Vue单页面应用和多页面应用
单页面应用是一种应用架构,在这种架构中,整个应用只会加载一个 HTML 文件,并且所有的页面内容都是在这个页面内通过动态更新的方式渲染出来的。当用户与应用交互时,只有页面的部分内容会更新,而不需要重新加载整个页面。多页面应用是指一个包含多个独立页面的网站,每个页面通常都是一个独立的 HTML 文件,用户访问不同页面时,浏览器会重新加载不同的 HTML 文件,且每个页面通常会有自己的路由和业务逻辑。特点单页面应用 (SPA)多页面应用 (MPA)页面刷新无需完全刷新,局部更新每个页面都独立刷新路由管理。原创 2024-11-28 11:27:48 · 1507 阅读 · 0 评论 -
Vue单向数据流的理解
在 Vue.js 中,(One-Way Data Flow)是一个重要的设计理念,指的是数据从父组件通过向下传递给子组件,而子组件不能直接修改这些数据。如果子组件需要修改数据,应该通过事件通知父组件,由父组件更新数据。这种机制确保了组件之间的关系清晰,易于维护。props$emitpropspropspropspropsprops父组件通过props子组件不能直接修改props。原创 2024-11-21 17:44:36 · 767 阅读 · 0 评论 -
Vue通用组件设计原则
原则描述单一职责每个组件只专注于一项功能,避免混入具体业务逻辑。可配置性提供灵活的props和事件,满足不同需求。插槽支持使用插槽提供内容扩展能力,适应不同场景。简洁 API提供直观、最小化的配置选项。单向数据流遵循 Vue 的单向数据流设计模式,避免双向绑定造成复杂性。无状态化尽量避免在组件内部管理复杂状态,将状态交由父组件管理。性能优化缓存数据、优化事件处理、合理使用key。统一样式使用局部样式或命名规范,避免污染全局样式。易测试确保组件功能易于通过测试验证。原创 2024-11-21 17:21:40 · 1468 阅读 · 0 评论 -
Vue框架中this指向问题
的指向问题与 JavaScript 的基本规则一致,但由于 Vue 的框架特性,其。在不同的场景下有特定的含义和使用方式。以下是 Vue 中常见的。如果 Vue 的方法调用了外部普通函数,而函数内部没有正确绑定。,可以将初始值硬编码,或者使用生命周期钩子来动态赋值。但如果直接将方法传递给其他原生事件处理器,如。),可以通过它访问实例的属性和方法。默认指向当前的 Vue 实例(在 Vue 的组件或根实例中,Vue 自动将事件处理器中的。指向情况和可能遇到的问题。会继承其定义时的上下文。,可能会导致指向问题。原创 2024-11-21 11:25:20 · 637 阅读 · 0 评论 -
vue实现滚动下拉加载更多
加载时显示占位内容,提升用户体验。替换为真实的接口调用。原创 2024-11-20 11:17:52 · 1144 阅读 · 0 评论 -
Vue3里v-bind使用
在 Vue.js 中,v-bind指令常用于动态绑定 HTML 属性或组件 prop。而在 CSS 样式中,可以通过v-bind动态绑定内联样式或者在<style>中动态设置 CSS 变量。原创 2024-11-19 14:31:41 · 493 阅读 · 0 评论 -
npm镜像查看和修改
在国内使用 npm 时,推荐修改 npm 的镜像源为国内的镜像站(如淘宝 npm 镜像)以提升安装速度。原创 2024-11-19 13:47:56 · 6093 阅读 · 1 评论 -
Vue3插槽v-slot使用方式
在 Vue 3 中,v-slot是用来定义和使用插槽的指令。插槽是 Vue 的一个功能,允许你在组件内部定义占位内容,便于在父组件中提供动态内容。以下是v-slot。原创 2024-11-19 11:06:38 · 727 阅读 · 0 评论 -
Vue Mixin混入机制
在 Vue 2 中,Mixin 是非常实用的代码复用机制;在 Vue 3 中,更推荐使用 Composition API 替代混入,以获得更好的可读性和灵活性。(混入)是一种可复用代码的机制,用于在多个组件之间共享逻辑。通过混入,可以将通用功能提取到一个独立的文件中,然后在组件中引入并使用,而无需重复代码。是一个对象,可以包含组件中的任何选项,比如数据、生命周期钩子、方法等。当一个组件使用混入时,Mixin 的内容会被“混入”到该组件中。Vue 提供了全局混入功能,适用于全局共享逻辑。原创 2024-11-19 10:37:16 · 386 阅读 · 0 评论 -
Vue模块化开发的理解
Vue模块化是指在Vue.js开发中,将代码按功能拆分成多个独立的模块,以提高代码的可维护性、可读性和复用性。原创 2024-11-15 17:19:26 · 857 阅读 · 0 评论 -
Vue监视属性变化watch
使用watch选项来监听数据的变化。可以监听单一数据、多个数据或计算属性的变化。通过deep: true实现深度监听对象或数组。使用可以让监听器在组件创建时立即执行。watch是非常有用的工具,尤其是在需要基于数据变化进行异步操作时。原创 2024-11-15 13:51:33 · 865 阅读 · 0 评论 -
Vue计算属性computed
计算属性用于根据已有的数据动态计算结果,且只有依赖的数据发生变化时才会重新计算。它们与方法不同,计算属性是缓存的,提升了性能。可以用作getter和setter,适用于更复杂的属性计算和更新需求。原创 2024-11-14 14:03:16 · 501 阅读 · 0 评论 -
Vue 生命周期函数
创建阶段:实例被创建,数据和事件被初始化。挂载阶段:实例挂载到页面,模板渲染成真实的 DOM。更新阶段:数据变化导致组件重新渲染。销毁阶段:组件销毁,解绑事件,清理资源。created:在组件初始化时,适合进行数据请求、初始化数据等。mounted:在组件挂载后,适合 DOM 操作、依赖 DOM 的第三方库(如图表、动画)。和updated:在组件更新前后,适合在数据改变引起 DOM 变化时进行操作(如调试或调节)。和destroyed。原创 2024-11-14 08:58:26 · 980 阅读 · 0 评论 -
Vue.js动态组件使用
首先,你需要定义你想要动态切换的组件。这些组件可以是全局注册的,也可以是局部注册的。原创 2024-11-11 09:48:14 · 596 阅读 · 0 评论 -
vue 任意组件消息传递
一个组件传递消息给另一个组件(任意组件传递)全局配置/** 添加事件总线$bus,用以组件之间通信 */Vue.prototype.$bus = new Vue()组件一:async onOK(){ this.$bus.$emit('updateSjzbTree')}组件二:created(){ this.init() this.$bus.$on('updateSjzbTree', this.init)},使用场景:一个页面数据变动,需要另一个页面也相应原创 2021-07-20 15:58:30 · 285 阅读 · 0 评论 -
vue-cli3 使用mint-ui 按需打包
文章目录1. 模块安装2. 修改配置babel.config.js3. 使用1. 模块安装npm i mint-ui -Snpm install babel-plugin-component -D2. 修改配置babel.config.jsmodule.exports = { presets: ["@vue/app"], plugins:[ [ "component", { "libraryName": "mint-ui",原创 2021-02-15 01:01:36 · 393 阅读 · 0 评论 -
路由守卫
路由文件设置// 路由导航守卫/* to: 到某个地址 from: 从哪个地址来 next: 是否放行 */router.beforeEach((to, from, next)=>{ // 访问登页直接放行,其他页面判断是否有登录凭证,如果没有直接跳转到登录页 if(to.path==='/login') return next(); const tokenStr = window.sessionStorage.getItem('token');原创 2020-12-15 13:01:12 · 224 阅读 · 0 评论 -
vue 处理表单数据
<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-原创 2020-11-26 12:20:09 · 533 阅读 · 0 评论