自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue模版编译原理

vue中的模板template无法被浏览器解析并渲染,因为这不属于浏览器的标准,不是正确的HTML语法,所有需要将template转化成一个JavaScript函数,这样浏览器就可以执行这一个函数并渲染出对应的HTML元素,就可以让视图跑起来了,这一个转化的过程,就成为模板编译。模板编译又分三个阶段,解析parse,优化optimize,生成generate,最终生成可执行函数render。

2023-01-28 18:15:09 351

原创 什么是 mixin ?

Mixin 使我们能够为 Vue 组件编写可插拔和可重用的功能。●如果希望在多个组件之间重用一组组件选项,例如生命周期 hook、 方法等,则可以将其编写为 mixin,并在组件中简单的引用它。

2023-01-28 18:14:18 227

原创 vue如何监听对象或者数组某个属性的变化

当在项目中直接设置数组的某一项的值,或者直接设置对象的某个属性值,这个时候,你会发现页面并没有更新。这是因为Object.defineProperty()限制,监听不到变化。

2023-01-28 18:14:10 4372

原创 delete和Vue.delete删除数组的区别

delete 只是被删除的元素变成了 empty/undefined 其他的元素的键值还是不变。●Vue.delete 直接删除了数组 改变了数组的键值。

2023-01-28 18:12:04 271

原创 assets和static的区别

相同点: assets 和 static 两个都是存放静态资源文件。项目中所需要的资源文件图片,字体图标,样式文件等都可以放在这两个文件下,这是相同点

2023-01-28 18:11:23 224

原创 Vue的优点

轻量级框架:只关注视图层,是一个构建数据的视图集合,大小只有几十 kb ;

2023-01-28 18:10:50 104

原创 对 React 和 Vue 的理解,它们的异同

相似之处:●都将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库;●都有自己的构建工具,能让你得到一个根据最佳实践设置的项目模板;●都使用了Virtual DOM(虚拟DOM)提高重绘性能;●都有props的概念,允许组件间的数据传递;●都鼓励组件化应用,将应用分拆成一个个功能明确的模块,提高复用性。

2023-01-28 18:09:50 201

原创 Vue是如何收集依赖的?

在初始化 Vue 的每个组件时,会对组件的 data 进行初始化,就会将由普通对象变成响应式对象,在这个过程中便会进行依赖收集的相关逻辑,如下所示∶

2023-01-28 18:08:57 779 1

原创 vue子组件可以直接改变父组件的数据吗?

子组件不可以直接改变父组件的数据。这样做主要是为了维护父子组件的单向数据流。每次父级组件发生更新时,子组件中所有的 prop 都将会刷新为最新的值。如果这样做了,Vue 会在浏览器的控制台中发出警告。

2023-01-28 18:03:01 1261

原创 data为什么是一个函数而不是对象

Vue组件可能存在多个实例,如果使用对象形式定义data,则会导致它们共用一个data对象,那么状态变更将会影响所有组件实例

2023-01-19 20:04:45 144

原创 v-model 可以被用在自定义组件上吗?如果可以,如何使用?

可以。v-model 实际上是一个语法糖,如:

2023-01-19 20:03:19 546

原创 v-model 是如何实现的,语法糖实际是什么?

作用在表单元素上动态绑定了 input 的 value 指向了 messgae 变量,并且在触发input 事件的时候去动态把 message设置为目标值:

2023-01-19 19:59:19 287

原创 v-if和v-show的区别

手段: v-if是动态的向DOM树内添加或者删除DOM元素:Vshow是通过设置DOM元素的display样式属性控制显隐;

2023-01-19 19:43:46 190

原创 v-if、v-show、v-html 的原理

v-if会调用addlfCondition方法,生成vnode的时候会忽略对应节点,render的时候就不会渲染

2023-01-19 19:42:12 489 2

原创 vue常见的事件修饰符及其作用

stop : 等同于JavaScript 中的 event.stopPropagation() ,防止事件冒泡

2023-01-19 19:40:50 230

原创 控制最大并发数

控制最大并发数

2023-01-13 19:54:46 106

原创 两个数组的合并

合并数组

2023-01-13 19:53:36 403

原创 虚拟DOM转为真实DOM

虚拟DOM转为真实DOM

2023-01-13 19:17:12 298

原创 ES5实现B继承A

ES5实现B继承A

2023-01-13 19:16:07 102

原创 字符串的全排列

把一个字符串中的字符重新排列生成新的字符串,例如, abc 总共有6种排列 (abc, acb, bac, bca, cab, cba)。

2023-01-13 19:14:59 82

原创 反转二叉树

如果根节点不为空,那么将左右子结点交换,然后将左右子结点进行递归调用。

2023-01-13 19:11:30 45

原创 对象扁平化

对象扁平化就是将复杂的多层的对象转化为一维对象:

2023-01-13 19:09:26 472

原创 使用setTimeout实现setInterval

前面在JS 事件循环之宏任务和微任务中讲到过,setInterval 是一个宏任务。

2023-01-13 19:06:41 406

原创 手写async函数

经常有人说async函数是generator函数的语法糖,那么到底是怎么样一个糖呢?让我们来一层层的剥开它的糖衣。

2023-01-13 17:56:16 74

原创 proxy原理

proxy英文原意是 代理 的意思

2023-01-09 15:07:56 194

原创 defineProperty监听数据的变化

defineProperty监听数据的变化

2023-01-09 15:00:54 234

原创 defineProperty

ES5 提供了 Object.defineProperty 方法,该方法可以在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回这个对象。

2023-01-09 14:58:51 45

原创 history和hash实现的原理

history和hash实现的原理

2023-01-09 14:23:45 77

原创 广度优先遍历和深度优先遍历

深度优先遍历简称DFS(Depth First Search),广度优先遍历简称BFS(Breadth First Search),它们是遍历图的两种方式。

2023-01-09 10:04:10 287

原创 什么是防抖和节流有什么区别

本质上是优化高频率执行代码的一种手段

2023-01-09 09:31:56 32

原创 观察者模式

当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。

2023-01-09 08:48:46 43

原创 发布订阅者

发布-订阅模式,看似陌生,其实不然。工作中经常会用到,Node.js EventEmitter 中的 on 和 emit 方法;

2023-01-09 08:16:33 34

原创 Vue的性能优化有哪些

尽量减少data中的数据,data中的数据都会增加getter和setter,会收集对应的watcher

2023-01-06 21:54:47 175 1

原创 MVVM的优缺点

分离视图(View)和模型(Model),降低代码耦合,提⾼视图或者逻辑的重⽤性

2023-01-06 21:54:45 159

原创 Vue的优点

轻量级框架:只关注视图层,是一个构建数据的视图集合,大小只有几十 kb ;

2023-01-06 21:52:53 1813

原创 简述 mixin、extends 的覆盖逻辑

mixin 和 extends均是用于合并、拓展组件的,两者均通过 mergeOptions 方法实现合并。

2023-01-06 21:50:05 382

原创 $nextTick 原理及作用

Vue 的 nextTick 其本质是对 JavaScript 执行原理 EventLoop 的一种应用。

2023-01-06 21:49:35 219

原创 Vue.js 和 React.js 有什么区别

React.js 和 Vue.js 确实有一些相似——它们都提供数据驱动、可组合搭建的视图组件。然而,它们的内部实现是完全不同的。React 是基于 Virtual DOM——一种在内存中描述 DOM 树状态的数据结构。React 中的数据通常被看作是不可变的,

2023-01-06 21:46:38 676

原创 过滤器的作用,如何实现一个过滤器

根据过滤器的名称,过滤器是用来过滤数据的,在Vue中使用filters来过滤数据,filters不会修改数据,而是过滤数据,改变用户看到的输出(计算属性 computed ,方法 methods 都是通过修改数据来处理数据格式的输出显示)。

2023-01-06 21:38:52 158

原创 Computed 和 Watch 的区别

对于Computed:它支持缓存,只有依赖的数据发生了变化,才会重新计算不支持异步,当Computed中有异步操作时,无法监听数据的变化computed的值会默认走缓存,计算属性是基于它们的响应式依赖进行缓存的,也就是基于data声明过,或者父组件传递过来的props中的数据进行计算的。

2023-01-06 21:36:24 59

空空如也

空空如也

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

TA关注的人

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