自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue2、vue3的响应式原理

用 object.defineProperty结合订阅者发布者模式进行数据劫持,并通过设置get和set方法对数据进行操作,设置值后在 get() 中向发布者添加该属性的订阅者,这里在编译模板时就会初始化每一属性的 watcher,在数据发生更新后调用 set 时会通知发布者 notify 通知对应的订阅者做出数据更新,同时将新的数据更新到视图上显示。因此vue2的响应式,通过数组方法(prop,push),或是删除,vue是不能监听的。2.描述符只有get和set,无法监听新增属性和删除属性的操作。

2022-10-18 23:32:43 230 1

原创 虚拟DOM和diff算法

虚拟dom是根据真实dom生成的一个js对象,里面有元素,属性和文本这些与真实dom中的元素,属性,文本一一照应。当对比相同点时会删除其中一个,不再深度比较;当对比不同点时,会将不同的地方进行记录,对比完后再将不同的地方渲染上,打上补丁。当数据更新时会生成新的虚拟dom,新的虚拟dom和旧的虚拟dom进行对比就是diff算法。3>tag和key,两者都相同,表示相同节点,不再深度比较。2>tag不相同,则直接删掉重建,不再深度比较。1>比较只会在同层级进行,不会垮层级进行。减少了dom操作,提高了性能。

2022-10-18 23:30:57 147

原创 关于git的使用

团队开发合作时要先拉取远程仓库,查看本地分支与远程分支是否一致,然后将自己的分支推送到远程仓库,最后合并分支,每个人加入到对方的分支中。本地合并冲突:两个分支修改了同一个地方,那么在向master主分支合并时就会产生冲突(修改了同一个地方,git不知道以谁为主。git checkout 分支名 切换分支(git checkout -b 分支名 表示创建并切换)git branch -d 分支名 删除分支(不要在当前分支下,否则删除不了)7 .git push origin master 推到远程主分支。

2022-10-18 23:12:43 134

转载 史上最全常用正则表达式大全

很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些。原文:http://www.cnblogs.com/zxin/archive/2013/01/26/2877765.html。整理了一下,在这里分享一下。给自己留个底,也给朋友们做个参考。二、校验字符的表达式。

2022-08-25 17:00:53 583

原创 This的指向

4.箭头函数中 this 比较特殊,箭头函数 this 为父作用域的 this,不是调用时的 this.要知道前四种方式,都是调用时确定,也就是动态的,而箭头函数的 this 指向是静态的,声明的时候就确定了下来;在 js 中 this 不是固定不变的,它会随着执行环境的改变而改变。要注意的是 this 取什么值,是在执行时确认的,定义时无法确认。3.构造函数中,this 指向 new 出来的那个新的对象;2.在函数中,this 永远指向最后调用他的那个对象;...

2022-08-04 16:40:56 83

原创 keep-alive

用 keep-alive 可以缓存滚动条的距离,在路由离开之前 beforeRouteLeave 里面记录当前页面的 scrollTop。在 activated 中 把刚才记录的滚动条的位置赋值给当前页面的滚动条。可以直接使用组件的 name 值 也可以使用正则表达式来规定缓存规则。如果加上 keep-alive 页面不会被销毁 会被缓存下来。一般是加在坑 router-view 的外面。这三种方式来规定缓存谁不缓存谁。exclude 规定不缓存谁。还能记录 填入的表单的内容。include 规定缓存谁。

2022-08-03 18:41:51 103

原创 什么是过滤器

2. 过滤器的第一个参数是 管道符 前面的数据,接下来的参数 数据 | 过滤器的名称(第二个参数,第三个参数,。3. 过滤器可以串联使用,下一个过滤器的参数 是上一个过滤器的返回值。要使用过滤器过滤某个数据 数据 | 过滤器的名称。Vue.filter(过滤器的名称,回调函数)对文本的格式化处理,常用于 时间、金额的过滤。分为 全局的过滤器 和 局部过滤器。1. 过滤器没有this指向。...

2022-08-03 17:18:41 303

原创 vuex是什么以及用法/vuex模块化/vuex辅助函数

mutations -- this.$store.commit.('mutations里的方法名字',要传的值)使用的时候 this.$store.commit("a(模块名字)/add(模块里方法的名字)")actions -- this.$store.dispatch.要调用的方法。mutations -- 唯一修改state内数据的方法 -- 同步的操作。getters-- this.$store.getters.要调用的方法。state -- this.$store.state.要调用的方法。...

2022-08-03 16:35:31 300

原创 判断数据类型的方法/如何判断数据类型

instanceof 一般用于判断引用的数据类型,最常用的 [] instanceof Array 判断是否是数组 isArray()toString() 全能 所有的数据类型都可以判断 Object.prototype.toString.call({})判断数据类型的方法有四种,分别是:typeof、instanceof、constructor、toString()typeof 一般是用于判断基本的数据类型,但是null除外,因为 typeof null 输出的是object。

2022-08-03 16:20:22 1878

原创 js中的数据类型有哪里以及区别(简单的、复杂的)

简单的:数字 number 、字符串 string、布尔的 boolean、未定义 undefined、空 null、定义唯一的 Symbol(ES6新增的)、大数字 BigInt。简单的数据类型和复杂的数据类型的区别是:简单的数据类型是存放在栈里的,而复杂的数据类型是存放在堆中的。复杂的:数组 Array 、对象 Object、函数 function、正则、日期 Date()js数据类型分为两种:简单(一般的/基本的)的数据类型和复杂(引用)的数据类型。

2022-08-03 16:01:03 284

原创 什么是生命周期函数/vue的生命周期

errorCapture有三个参数 第一个是什么错 第二个那个组件 第三个具体报错的地点 ,可以return true和false return false的时候错误不会向外展示。创建前后:beforeCreate 创建前、 created 创建后、更新前后:beforeUpdate 更新前、updated 更新后、挂载前后:beforeMount 挂载前、mounted 挂载后、可以在创建后获取到data里边的数据,可以在挂载后获取到dom元素。dom更新/视图更新的时候会触发更新的函数。...

2022-08-02 12:07:29 153

原创 image中mode=“widthFix“的意思

是可以根据图片的宽度自适应图片高度。

2022-07-25 13:56:29 2987

空空如也

空空如也

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

TA关注的人

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