【vue】如何改写数组的方法使其成为响应式? 在vue2的响应式中,数组的一些方法是无法实现响应式,需要进行重写,如何实现的呢??在Vue中,对响应式处理利用的是Object.defineProperty对数据进行拦截,vue没有对数组进行响应式处理,例如数组内部变化、数组长度变化、数组的截取变化等等,对这些操作进行hack,让vue能够监听到其中变化。
【浏览器】浏览器原理及常见考点 当执行 JavaScript 脚本时,另一个线程解析剩下的文档,并加载后面需要通过网络加载的资源。这种方式可以使资源并行加载从而使整体速度更快。需要注意的是,预解析并不改变 DOM 树,它将这个工作留给主解析过程,自己只解析外部资源的引用,比如外部脚本、样式表及图片。同源策略限制了从同一个源加载的文档或脚本如何与另一个源的资源进行交互。这是浏览器的一个用于隔离潜在恶意文件的重要的安全机制。协议、端口号、域名必须一致。
【html】面试问题总结 1、HTML语义化2、HTML语义化在CSS加载前怎么保持网页完整结构3、HTML文档结构4、script标签放head和body中的区别5、href和src的区别6、Html文件的第一行。
【项目】知识库项目优化 将目录树右对齐,需要给三个层级设置各自的长度,实现左侧缩进,右侧对齐,期初想要直接从antd暴露的pos或者key是类似这种数据“0-0-1”这种,一开始打算通过pos.split(‘-’).length来判断层级,但是没有暴露在dataRef中,无法直接获取,所以卡了一两天,后面通过重写data,然后自定义属性,主要是在重写的时候,根据递归的次数然后暴露出去/*** 将获得的数据转为Tree控件格式数据,key、title、children。...
【vue3】组合式函数 vue3中提出了关于组合式函数的方法,与react中的hooks相同功能,比较常见的钩子有:windows 系统的钩子能监听到系统的各种事件,浏览器提供的 onload 或 addEventListener 能注册在浏览器各种时机被调用的方法。
【axios】网络请求、数据获取、更新与渲染 axios学习官网,https://www.axios-http.cn/docs/introaxios是一个封装好了XML异步请求的请求库。用例利用promise.all发起多个并发请求。
【项目】前端实习——知识库项目总结 经过一周快两周的时间,经历了一次完整的项目迭代需求,现在对所做的工作进行梳理,主要是熟悉了前后端分离,开发的整个流程、熟悉协同开发、搭建页面等;把踩过的坑和问题都梳理出来,以防忘记。...
【Vite】字节青训营——Vite构建工具 各种资源,模块化问题(ESM、CommonJS、UMD)、资源编译(高级语法)、产物质量(代码体积性能)、开发效率(热更新)迅速响应,开箱即用新一代的前端构建工具(vue3,所带来的相关工具)核心特征:高性能,dev热启动和热更新速度非常快简单易用当前的主要问题,缓慢的启动(项目编译等待成本高,修改代码后不能实时更新)vite开箱即用的功能等价于:webpack、webpack-dev-servercss-loaderstyle-loader、less-loader、sass-loader、ppo
【leetcode】数组类——滑动窗口、二分查找、快慢双指针 滑动窗口,无非分为两大类,一是寻找满足条件的最小窗口的长度,或者是寻找最大窗口的长度。这样滑动窗口的问题大部分都能解决了利用二分法,先查找出第一个大于target的,在查找第一个小于target,两次二分查找//二分法查找三个8,一个范围;//先查找到第一个大于target的 let ans = [ - 1 , - 1 ];break;} //左闭合右开?} else {} } //寻找左边界 left = 0;break;} else {};...
【antd】Ant design Vue树形控件Tree——增删改查操作 Ant design 组件库中的树形控件,展示了相关的数据展示用法,但基本的增删改查操作还需要自己实现以下,最近花了两三天将基本操作进行实现了。
【vue3】ref和reactive的区别及选用 ref和reactive函数都是用来定义响应式数据;但是reactive更适合定义复杂数据类型(json、arr数组)、ref适合定义基本数据类型(可接收基本数据类型和对象);
【JS】详解并手写call、apply及bind方法 this指向由方法的第一个参数决定,第二个参数是一个参数数组或arguments对象,各数组元素或arguments对象表示的各参数将作为目标函数的参数一一对应传入;调用bind()方法将返回一个新函数——目标函数的拷贝,该函数内部的this指向方法的第一个函数,后面逐个列举的任意个数参数将作为目标函数的参数一一对应传入。之后执行新函数相当于执行了目标函数。bind()方法实现了函数柯里化,因此可以分两次向目标函数传递参数,第一次的参数列举在bind()方法首参后面,第二次的参数列举在新函数中。...