
Vue框架与实战
文章平均质量分 58
Jyann~
要坚信,人生所有走过的路,都不会白走
展开
-
富文本组件vue-quill-editor使用
版本:"vue-quill-editor": "^3.0.6",原创 2023-11-14 11:15:50 · 483 阅读 · 0 评论 -
vue2自定义组件v-model实现
页面设置和组件管理切换:使用自定义组件v-model实现。原创 2023-11-11 14:18:57 · 1673 阅读 · 0 评论 -
面包屑实现
通过this.$route.matched获取所有匹配路由,将处理首页外的其他路由设置到一个数组中,再通过数组循环方式显示。背景:面包屑根据菜单内容显示不同内容。首页永远存在,后面的活动管理及多级菜单的面包屑展示。监听路由,获取路由栈this.$route.matched。通过路由中的meta属性设置title用于显示面包屑;原创 2023-11-08 14:12:50 · 303 阅读 · 0 评论 -
elmentUI多级菜单动态显示
背景:根据后端返回数据生成多级菜单,菜单项可能会有很深的层级,如果直接使用elementUI 去编写会写很深的层级,代码繁杂,一旦后面菜单项有改动又不利于维护如何做到多级菜单?使用递归组件。原创 2023-11-07 15:02:52 · 1085 阅读 · 0 评论 -
elementUI的el-menu组件做内部组件和外链区分
场景:左侧菜单栏的菜单项有内部组件切换,也会有点击后进入外链的情况,如何同时处理这种情况?AppLink封装:插槽形式显示el-menu-item。原创 2023-11-07 11:11:52 · 1024 阅读 · 0 评论 -
element-plus的el-tag标签关闭标签时的高亮显示逻辑
首页的tag一开始就会存在,而且是不能进行删除的当点击左侧栏的时候,如果tag没有该菜单名称则新增,如果已经有了那么当前tag背景为蓝色。删除当前tag,如果是最后一个,那么路由调整到它前面那个标签并且背景变蓝,如果不是最后一个那么路由调整到它后面那个标签并且背景变蓝。还有我们注意这个tag不论路由如何切换都是会存在的,所以这个tag一定要存在我们之前定义的Main.vue中。原创 2023-11-01 19:25:29 · 1113 阅读 · 0 评论 -
vue3动态路由配置总结
路由不在router文件中写死,而是在登录后通过后端获取路由数据,然后进行动态路由设置。为什么要使用动态路由?可以进行权限管理,比如后端根据不同用户和超管会有返回不同的数据,这个数据控制路由、菜单、页面按钮等的显示和隐藏,从而进行权限控制。原创 2023-11-01 15:54:47 · 2883 阅读 · 0 评论 -
vite项目中mock和axios封装
【代码】vite项目中mock和axios封装。原创 2023-10-28 17:48:57 · 621 阅读 · 2 评论 -
双端diff算法
如下图,如果使用简单diff算法真实 DOM 节点会,但是实际上通过简单的观察可以发现只需要移动一次p-3就可以。所以得出结论:简单diff算法的性能在某些场景下并不是最好的。对于上述的例子,使用双端diff算法的性能会更高。原创 2023-10-27 15:20:16 · 297 阅读 · 0 评论 -
简单diff算法
在vue中用于比较新旧vnode的子节点都是一组节点时,为了以最小的性能开销完成更新,需要比较两个子节点,用与比较的算法就叫作diff算法。原创 2023-10-27 11:40:18 · 372 阅读 · 0 评论 -
Vue响应式数据的实现原理(手写副作用函数的存储和执行过程)
命令式框架关注过程声明式框架关注结果(底层对命令式的DOM获取和修改进行了封装)原创 2023-10-26 17:31:59 · 235 阅读 · 0 评论 -
Vue组件的本质和手写通过render渲染函数渲染组件
本质就是一个对象(mounted函数中打印一下组件即可看到打印的是一个对象)如何利用javascript对象来描述一个组件?如何修改渲染器的内容?渲染函数时写的只是针对虚拟节点不是针对组件(即传入一个对象)原创 2023-10-26 15:33:29 · 365 阅读 · 0 评论 -
手写Vue渲染器render函数
渲染器的作用就是把虚拟DOM渲染为真实DOM思考下,我们有一个虚拟 DOM,如何将它转换为真实 DOMprops: {},原创 2023-10-26 15:14:27 · 373 阅读 · 0 评论 -
Vue虚拟节点和渲染函数
虚拟节点(dom)本质上就是一个普通的JS对象,用于描述视图的界面结构。原创 2023-10-22 12:01:57 · 725 阅读 · 0 评论 -
vue-router(vue-router功能,跳转方式,路由守卫,路由懒加载,使用流程,3.x和4.x使用区别)
Vue Router 是 Vue.js (opens new window)官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。原创 2023-10-22 10:56:24 · 249 阅读 · 0 评论 -
vue2 mixins混入
在vue中提供了一种复用性的操作,所混入的对象包含任意组件的选项(data|computed,生命周期|watch,methods)原创 2023-10-22 10:32:38 · 433 阅读 · 0 评论 -
Vue动态组件 <component :is=“XXX“></component>
注意,这个 attribute 可以用于常规 HTML 元素,但这些元素将被视为组件,这意味着所有的 attribute 都会作为 DOM attribute 被绑定。如 a标签 <component is="a" href="XXX.baidu.com"></component>,通过 Vue 的 元素加一个特殊的 is attribute 实现。currentPage可以包括已注册组件的名字,或一个组件的选项对象。原创 2023-10-21 18:26:13 · 595 阅读 · 0 评论 -
Vue计算属性computed和监听watch
初衷:为了解决模块里面有太多的计算逻辑让模版难以维护。计算属性可以依赖一个数据也可以依赖多个数据的变化使用场景:商品单价和数量改变时,商品总价更改。如果写在方法里面,那么每次修改商品单价和数量时都会去调用这个方法,这种每次去调用都会消耗一部分性能,对页面渲染并不友好。所以就可以使用计算属性,计算属性可以使用缓存。原创 2023-10-21 13:52:56 · 421 阅读 · 0 评论 -
插槽的基本使用和作用域插槽
父级模板里的所有内容都是在父级作用域中编译的;子模板里的所有内容都是在子作用域中编译的。即父子组件只能使用各自作用域的数据。原创 2023-10-21 13:06:39 · 445 阅读 · 0 评论 -
Vue组件通信
缺点:操作混乱,一般是父组件操作父组件的数据,子组件操作子组件的数据,这种方式是父组件中编写方法通过this.$refs.child.setMsg("传给子组件")的形式来操作子组件。4. $attrs/$listeners:能够实现跨级双向通信,能够让你简单的获取传入的属性和绑定的监听,并且方便地向下级子组件传递,在构建高级组件时十分好用。1. props/$emit 可以实现父子组件的双向通信,父组件通过props的方式向子组件传递数据,而通过$emit 子组件可以向父组件通信。原创 2023-10-27 09:34:38 · 120 阅读 · 0 评论 -
Vue生命周期钩子
vue生命周期表示在组件创建后的一系列变化,其中钩子函数会在生命周期的关键节点中被调用为什么在beforeCreated()时,data和methods方法还没有创建,但是在beforeCreated()里面打印this可以看到data相关的数据?跟浏览器有关,浏览器中,如果是引用数据类型,在后续对其有改变时,前面打印也会时后面更改后的数据。可以通过debugger断点进行查看就没有了。原创 2023-10-20 13:50:37 · 206 阅读 · 0 评论 -
Vue动态class
v-bind:style 的对象语法十分直观——看着非常像 CSS,但其实是一个 JavaScript 对象。数组中也可以使用对象语法。原创 2023-10-20 13:46:33 · 1554 阅读 · 0 评论 -
v-model和.sync区别
v-model在页面中不只是能用于表单控件<input>, <textarea> and <select>中。除此之前还可以使用到自定义组件中。父组件使用了v-model以后,自定义组件里面,也不止限于表单组件。v-model其实只是一个语法糖,和子组件是不是表单组件没有关系。v-model="name" 其实是其实是v-bind:name="name"和v-on:update="name=>newName=name"的语法缩写。原创 2023-10-20 13:29:50 · 815 阅读 · 0 评论