自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 解决element plur的icon图标的无法按需引入的问题

/element 组件的按需引入。再说一些组件使用注意的问题吧。//按需引入icon图标组件。//安装icon图标组件。

2023-09-20 14:38:02 924

原创 浏览器渲染原理 (简易版)

整个渲染流程分为多个阶段,分别是:HTML解析、样式计算、布局、分层、绘制、分块、光栅化、画。为了提高解析效率,浏览器在开始解析前,会启动一个预解析的线程,率先下载HTML中的外部css文件和外部的js文件。变形发生在合成线程,与渲染线程无关,这就是transform效率高的本质原因。当进行了会影响布局树的操作后,需要重新计算布局,会引发layout布局,为了。合成线程拿到每个层、每个块的位图后,生成一个个的“指引(quad)”信息。渲染主线程的任务到此结束,后续的任务交由其他线程完成。

2023-09-07 12:46:08 128

原创 vue3组件通信(七种方法)

自定义事件和v-model差不多父组件://自定义事件的回调//将来接受子组件传递过来的数据//给子组件child传入modelValue属性 和 @update:modelValue方法子组件://接受props//子组件内部按钮的点击回调//触发自定义事件这样子组件通过调用 handler 方法,改变了父组件的 money.

2023-08-31 20:35:55 264 1

原创 搭建vue项目,配置环境

在上面我们已经集成好代码验证工具,但需要每次手动的执行才能格式化代码,husky它能强制开发人员按照代码规范提交到远程仓库。的才可以,**需要注意的是类型的后面需要用英文的 :,并且冒号后面是需要空一格的,这个是不能省略的**它为css的lint工具,可格式化css代码,检查css语法错误于不合理的写法,指定css书写顺序等,//如果不是pnpm下载的包,将执行 process.exit(1),退出下载/安装。'build',//编译相关的修改,例如发布版本、对项目构建或者依赖的改动。

2023-08-26 20:41:35 1124

原创 git常用的基础指令

5. touch: 新建文件 如: touch index.js。git clone -b 分支名 地址 // 克隆分支的代码到本地。git init // 初始化 在工作路径上创建主分支。10. reset: 重新初始化终端、清屏。3. pwd: 显示当前所在的目录路径。4. ls: 列出当前目录中所有文件。2. cd.. :返回上级目录。7. mkdir: 新建文件夹。8. rm -r: 删除文件夹。11. clear: 清屏。6. rm: 删除文件。9. mv: 移动文件。

2023-08-25 01:20:12 135 1

原创 JS判断属性是否存在的几种方法

这种判断标准是,不管‘a'是不是自有属性(可能是原型继承上的),只要‘a’在obj能够访问到,就判定存在。判断属性存在的方式有很多种,首先要确定自己的判断标准是什么?下面简单说明几种方式的使用场景。这种判断标准最不准确,实际上是判断a的属性值 是否为undefined。属性(属性是自己拥有,而不是原型继承的,可枚举属性)这种判断标准是,obj有没有。这种判断标准是,obj有没有。

2023-08-17 09:28:17 869 1

原创 最基础的防抖-节流方法

电梯第一个人进来后,等待15秒。如果过程中又有人进来,15秒等待重新计时,直到15秒后开始运送,这是防抖。假设电梯有两种运行策略 debounce 和 throttle,超时设定为15秒,不考虑容量限制。主要是通过定时器实现,当在2s内再次触发事件,将会开启定时器,并将删除上一次的定时器。把电梯完成一次运送,类比为一次函数的执行和响应。本章节只是为了演示最基础的防抖与节流,在项目中还应该考虑其他因素。电梯第一个人进来后,15秒后准时运送一次,这是节流。防抖适用于,事件频繁调用,以最后一次执行结果稳准。

2023-07-28 20:10:47 75 1

原创 vue中使用Object.freeze()冻结对象,不进行响应式处理

这种情况,页面显示datas数据很慢,因为vue内部会先将getDatas()返回的数据进行了遍历这个数组的每一个属性,通过Object.defineProperty()给他添加getter、setter,这就是observe做的事,因为他要将它变为响应式(就是这个过程,严重影响数据获取)当我们仅进行数据展示,不进行修改,就可以用到object.freeze()将数据冻结,该数据就不具备响应式功能。这时我们可以Object.freeze()这样很有效的缩减了页面显示时间。使用场景:如表单...

2023-07-28 12:05:39 1171 1

原创 router编程式导航(push-replace)及同一事件触发多次路由跳转报错

1.路由跳转 2.push与replace的区别 3.路由传参(name-path) 4.多次路由跳转报错

2023-07-26 03:29:18 718 1

原创 JS正则表达式 1.0(超详细!!!)

本章JS正则表达式知识点来自,把我认为比较基础的知识点整理了下,希望对大家有帮助!

2023-07-21 02:44:12 270 1

原创 JS函数重载

函数重载是一种编程技术,它允许程序员定义多个同名函数,但这些函数可以接受不同类型和数量的参数。通过函数重载,程序员可以简化代码,提高代码的可读性和可维护性。

2023-07-19 01:53:39 439

原创 Scss 学习 1.0

父盒子嵌套下第一个元素;+ 父盒子嵌套下的兄的元素;~父盒子嵌套下第一层的所有元素。含义是:如果这个变量被声明赋值了,那就用它声明的值,否则就用这个默认值。>、+和~(同层第一个class,兄弟class,同层所有class)2-3. 子组合选择器和同层组合选择器:>、+和~;规则内导入它的地方。举例说明,有一个名为。这种导入方式下,生成对应的。& 伪类选择器(:hover);文件时,局部文件会被直接插入到。将会继承样式表中任何位置处为。有关的组合选择器样式也会被。自身的所有样式,任何跟。

2023-07-17 02:05:45 151 1

原创 JS数组API合集(超详细)

通常,它只复制数组中的元素。不能获取当前元素的索引,只是获取元素值,但大多数情况是够用的。从字面上看,所有元素都被转换为字符串,然后进行比较。所以如果我们需要处理类数组对象,这些“额外”的属性就会存在问题。实际上,比较函数只需要返回一个正数表示“大于”,一个负数表示“小于”。因此,第一个参数本质上是累加器,用于存储所有先前执行的组合结果。和索引属性,但是也可能有其它的非数字的属性和方法,这通常是我们不需要的。应用函数时,上一个函数调用的结果将作为第一个参数传递给下一个函数。想象一下,我们有一个对象数组。

2023-07-15 14:24:15 127 1

原创 字符串API合集

4.获取字符串的三种方法(substr,substring,slice)与以前的方法相比,这个允许我们指定。会一直运行到字符串末尾.如果没有第二个参数,

2023-07-15 12:38:49 96 1

原创 获取元素位置,宽高属性(offset...,client...)和滚动条相关方法(page...)

通过图文的方式 介绍了offsetLeft/offsetTop、offsetWidth/offserHeight、clientLeft/clientRight、cliidth/clientHeight、pageXOffset/pageYOffset...等方法

2023-07-13 02:29:23 510 1

原创 js中原型__proto__和prototype属性的说明

在new的过程中 为son1创建了__proto__对象,这个对象指向fn.prototype对象(包含:say()方法,自带的constructor属性,fn.prototype.constructor===fn)2.普通函数中的this指向调用者(简单理解就是 . 前面的对象),比如我们son1.say()调用方法时,.say方法前面是son1,那么this指向son1。回到代码**标记行,Function.__proto__.__proto__就表示函数的老大哥,那么原型就是Object了。

2023-07-07 15:43:28 260 1

原创 js中push和concat的区别

concat实现过程是:内部创建了个新数组,将原数组赋值给新数组,concat:能一次向数组添加多个元素。push:向数组末端添加一个元素。,而且只能push一个元素。

2023-07-04 19:15:53 169

原创 使用pinia管理数据,在模块中引入另一个模块时报错:getActivePinia was called with no active Pinia. Did you forget to insta

当我需要另一个模块数据,于是进行了模块导入,出现了报错。在main.js文件中创建并注册pinia。第一种方法: 可以在模块内全局使用。第二种方法: 只能在模块内局部使用。

2023-06-17 14:33:44 981 1

原创 vant list 懒加载 第一次进行load事件时,莫名的进行了两次load事件

原因是:图片是由异步加载过程,当图片没到onload事件时候,它没渲染出来,宽高只有0,0。vant 的触底事件判断又在此之前。就会瞬间判断没填满当前空间,就会立刻又加载一次。load事件起初进行了两次,为什么呢?后来我给盒子设置了最小高度就成功了!,原来是样式的问题。

2023-06-15 17:46:55 1380 1

原创 js中try catch finally 捕获错误,并给出提示

3. 如果把 throw 与 try 和 catch 一起使用,那么您能够控制程序流,并生成自定义的错误消息。2. 正确的技术术语是:创建或抛出异常(exception)。3.ReferenceError:非法或不能识别的引用数值。其中finally部分是无论报不报错,都将执行的语句;1.EvalError:eval()的使用与定义不一致。4.SyntaxError:发生语法解析错误。6.URIError:URI处理函数使用不当。5.TypeError:操作数类型错误。2.RangeError:数值越界。

2023-06-15 14:28:01 356 1

原创 报错:module namespace not found in mapState(): 模块名

简化过程:演示其中一个模块,并将其引入父模块中。后面在App中的通过命名空间的使用过程也没错..子模块的定义跟根模块是类似的,再次提醒export default不要加new。错误的地方:每个模块都加了createStore,导致无法正常引入。

2023-06-10 15:21:53 673

原创 报错:[vuex] mapActions: mapper parameter must be either an Array or an Object

自己的理解是,methods里放的是,调用方法-->获取后端数据的地方,所以放Actions,和Mutation;Actions通过异步获取数据,在将获取的数据(通过commit方法调用Mutation的方法,)传给Mutation, Mtation将数据赋值给state。原因是:将mapActions('getNowlist')写在了computed里;应该写在methods里。

2023-06-10 13:29:12 1770

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除