- 博客(116)
- 收藏
- 关注
原创 虚拟DOM&diff算法
虚拟DOM是 VUE 一个比较核心的概念,为什么会有虚拟DOM呢?首先可以与传统的网页开发做个对比,在没有 VUE 和 REACT 框架之前,我们都是使用原生 JavaScript 或者 jQuery,那时候是直接对 DOM 元素进行操作来达到视图更新的一个效果。在使用 VUE 框架以后,我们就变成了通过改变数据去推动视图更新。虽然看着很神奇,但是其实还是要去操作 DOM 来达到试图更新的效果。而这一步 数据改变 =》 操作DOM 就是VUE 框架内部来完成的。但是项目中会有很多数据发生改变,那么是否
2024-12-03 16:09:10
793
原创 自定义指令
Vue除了核心功能内置的指令如 v-model,v-if 之外,还允许我们自己定义指令。通过这些指令可以对 dom 元素进行底层操作。二.定义指令1.全局自定义指令通过 directive 方法去定义全局指令。inserted 函数是指令对象可以定义的几个钩子函数之一,表示被绑定元素插入父节点时调用 (仅保证父节点存在,但不一定已被插入文档中)。钩子函数有很多参数,el 是其中之一,表示指令绑定的元素,可以用来进行一些 DOM 操作。// main.js。
2024-10-28 14:57:15
1222
原创 slot插槽
通俗来说就是“占坑”,使用标签在子组件中提前占好位置,父组件在使用子组件的时候,就可以向这些插槽里投放内容。相当于插槽就是一个提前放好的容器,等待使用者往里面填充内容。slot插槽分成三类:默认插槽(匿名插槽)具名插槽作用域插槽二.默认插槽默认插槽又叫做匿名插槽,就是没有名字的插槽,是插槽最简单的一种形式。一个组件内最多只能有一个默认插槽。-- 默认插槽:这个内容会被父组件传递的内容替换 -->
2024-10-16 15:55:43
1622
原创 Mixin混入
其实Mixin不是Vue专属的,可以说它是一种思想,也可以说它就是混入的意思,在很多开发框架中都实现了Mixin(混入),我们这里主要讲解的是Vue中的Mixin。官方解释:混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。自己解释:将组件的公共逻辑或者配置提取出来,哪个组件需要用到时,直接将提取的这部分混入到组件内部即可。
2024-09-11 16:06:25
731
原创 2.CSS3自定义滚动条样式
chromium内核浏览器,除了Chrome外,还包括最新版Edge,Opera,Safari,以及换壳的各种国产浏览器。html,/*三角箭头的颜色*//*滚动条滑块按钮的颜色*//*滚动条整体颜色*//*滚动条阴影*//*滚动条轨道颜色*//*滚动条3d亮色阴影边框的外观颜色——左边和上边的阴影色*//*滚动条3d暗色阴影边框的外观颜色——右边和下边的阴影色*//*滚动条基准颜色*/特别注意:1.
2024-07-18 13:56:09
1360
原创 日期相关获取
/ year 年份 month 月份if (year!= "") {//这个月的第一天//取得月份数//是0而不是-1// 此时还是 Thu Feb 01 2024 00:00:00 GMT+0800 (中国标准时间) 格式,用 moment 包格式化一下。
2024-06-14 10:48:46
564
原创 前端导出Excel — vue-json-excel
点击下载按钮后立即执行,会在开始下载数据前执行。返回值为下载的数据。这里可以将函数定义为async函数,并在里面await暂停等待,请求数据,构造下载所需要的的数据。header标题和footer页脚除了字符串,还可以是数组字符串,这样就可以实现多个标题和页脚。指的是如果某一行没有字段值时候就展示该数据。在fields中使用callback,把数组转成字符串导出。比如给数量列的数据后面加个‘斤’。比如我们加一列产地。
2024-04-24 22:26:25
2398
原创 原型和原型链
因为 Array 构造函数也是一个函数,而函数就会有一个原型对象 Array.prototype,而 JS 在这个原型对象上挂载了很多的方法,所以在使用构造函数 Array 创建实例 arr 的时候,arr 就可以使用 Array。每个函数都有一个 prototype 的属性,称之为原型,因为 prototype 是个对象,又称为原型对象。的某个属性时,会先在这个对象本身属性上查找,如果没有找到,则会通过它的。中查找,这样一层一层向上查找就会形成一个链式结构,我们称为。这个属性的,它指向了。
2024-04-19 02:02:10
449
原创 宏任务和微任务
在 ES5 以后 JS 引入 Promise,这样不需要浏览器,JS 引擎自身也能够发起异步任务了(script 代码块,整个 script 标签就是一个最大的宏任务。,但是 then()/carch()的回调函数是异步的)。优先同步代码,再微任务代码,最后才是宏任务代码。宏任务是由宿主(浏览器,Node)发起的。JS 把异步任务分为宏任务和微任务。微任务是由 JS 引擎发起的。script代码块不算在其中。Promise 本身是同步的。事件绑定的回调函数。
2024-04-19 01:07:53
189
原创 JS事件循环
执行过程:先按照顺序把同步任务放入执行栈中执行,然后把异步任务放入宿主环境等待执行,等执行栈中的异步任务全部执行完以后,就开始宿主环境,宿主环境的代码在时机到了(比如定时器时间到了,绑定事件触发了)以后就会把异步任务的回调函数推送到任务队列(任务队列是因为可能有多个异步任务)。只要执行栈任务执行完了就会去任务队列看看有没有回调函数执行,这样反复的循环,就是事件循环。因为某些任务耗时,我们不能为了等他而阻塞代码的执行,所以任务就分成了同步任务和异步任务。但是有些任务是耗时的,也就会阻塞代码的执行。
2024-04-19 00:39:09
167
原创 闭包-Closure
概念:一个函数对周围状态的引用捆绑在一起,内层函数访问到其外层函数的作用域。简单理解:闭包 = 内层函数 + 引用的外层函数变量。// 外层函数// 外层函数作用域内的变量// 内层函数// 内层函数引用到外层函数作用域内的变量f();outer();2.闭包的两个注意点一定有 return 吗?不一定。一定会有内存泄漏吗?不一定。
2024-04-18 20:48:38
455
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人