随笔分类 -  vue源码系列

摘要:### 插槽的分类 插槽分为默认插槽、具名插槽、作用域插槽 需要注意的点是,使用作用域插槽需要搭配`template`使用 ### 默认插槽 默认插槽使用最为简单: 父级 ``` 我是默认插槽 ``` 子级 ``` 我是子组件默认的 ``` 展示: ![](https://img2023.cnblo 阅读全文
posted @ 2022-12-22 15:38 卿六 阅读(97) 评论(0) 推荐(0) 编辑
摘要:概念 在vue、react出来之前,都是直接操作DOM,这样会引起重排和重绘。虚拟DOM是简称就是DOM对象,在每次更改的时候,对比新旧DOM对象的差异,然后一次更改,减少了重排和重绘,所以节约了性能。 组成 虚拟dom对象的基本组成是一颗树形结构,主要属性有type、props、children, 阅读全文
posted @ 2022-12-21 15:39 卿六 阅读(308) 评论(0) 推荐(0) 编辑
摘要:1. vue不能监听一开始的时候不存在在data中的属性(prototype) 解决方法:在data中定义一个为空的属性 2. vue不能对对象属性的增删进行监听 解决方法:使用setdelete 3. vue不能监听使用下标直接对数组内元素的直接改变,并且不能监听到对数组长度的改变 解决方 阅读全文
posted @ 2022-06-14 11:10 卿六 阅读(1067) 评论(0) 推荐(0) 编辑
摘要:###vue中路由传递参数 ####push传递参数(注意使用params的时候不能使用path跳转路由,只能使用name) 传递params参数 传递的写法: this.$router.push({ name: '', //在配置路由时填写的name params: {参数} }) 或者:this 阅读全文
posted @ 2022-02-18 11:10 卿六 阅读(131) 评论(0) 推荐(0) 编辑
摘要:首先介绍一下过滤器的使用,过滤器是来用格式化文本的,它可以用在两个地方:双花括号和v-bind表达式。: <!-- 双花括号 --!> {{ message | capitalize}} <!-- 在v-bind中--!> <div v-bind:id = 'rawId | formatId'></ 阅读全文
posted @ 2021-10-14 17:21 卿六 阅读(429) 评论(0) 推荐(0) 编辑
摘要:首先把官网的图扒下来,然后主要也是按照这个逻辑走。 ###生命周期图示解读 ####初始化阶段 new Vue()到created之间的阶段叫做初始化阶段。 这个阶段主要在Vue实例上初始化一下属性、事件以及响应式数据,如props、methods等。 注意:beforeCreate阶段,data, 阅读全文
posted @ 2021-10-14 14:56 卿六 阅读(60) 评论(0) 推荐(0) 编辑
摘要:全局API和实例方法不同,后者是在Vue的原型上挂载方法,也就是在Vue.prototype上挂载方法,而前者是直接在Vue上挂载方法。示例: vue.extend = function(extendOption) { ... } ###Vue.extend 参数:Vue.extend({}) 用法 阅读全文
posted @ 2021-10-14 13:23 卿六 阅读(179) 评论(0) 推荐(0) 编辑
摘要:我丢,我这个居然忘了写,要不是重新看我的面经的话差点就忘了。啧啧啧,补上。(我发现我之前理解的nextick有点毛病,重新去看了一下技术博客和书总结了一下。 ###什么是异步渲染 对于上面的代码,首先假如是直接去渲染的话肯定是要渲染两次:第一次渲染,然后变成第二次渲染。这样的话就会造成性能浪费,因为 阅读全文
posted @ 2021-10-11 14:06 卿六 阅读(366) 评论(0) 推荐(0) 编辑
摘要:我之前写了一半了,居然又没见了就离谱,从头开始。 ###vue-router原理 vue-router是实现了前端路由,也就是URL和UI之间的映射关系,当URL改变时会引起UI更新,但无需刷新页面。那么如何实现前端路由呢,也就是如何解决这两个问题: 如何改变URL但是页面不进行刷新 如何知道URL 阅读全文
posted @ 2021-10-10 14:29 卿六 阅读(681) 评论(0) 推荐(0) 编辑
摘要:###为什么数组和对象的侦测方式不同? 可能很多人不理解为什么Array的侦测方式和Object的不同,举例说明: this.list.push(1) 如上,我们是使用push方法向list中新增了数字1。之前介绍Object的时候,其侦测方式是通过getter/setter实现的,但是数组是通过使 阅读全文
posted @ 2021-09-25 13:10 卿六 阅读(74) 评论(0) 推荐(0) 编辑
摘要:vue.js的响应式原理,理解为什么修改数据视图会自动更新###如何追踪变化 在js中,有两种方法可以侦测到数据的变化:Object.defineProperty和Es6的Proxy。这里讨论的是vue2的响应式原理,所以就说Object.defineProperty,在vue3中使用的是Proxy,还没有开始看呢。 那么Object.defineProp 阅读全文
posted @ 2021-09-25 10:46 卿六 阅读(652) 评论(0) 推荐(1) 编辑
摘要:###虚拟DOM简介 首先,什么是虚拟DOM?虚拟DOM就是一个JS对象来描述一个DOM节点,像如下示例: <div class="a" id="b">我是内容</div> { tag:'div', // 元素标签 attrs:{ // 属性 class:'a', id:'b' }, text:'我 阅读全文
posted @ 2021-08-18 14:27 卿六 阅读(110) 评论(0) 推荐(0) 编辑
摘要:###概述 vue是数据驱动页面,数据即状态的变化,页面即状态的变化导致页面的变化,也就是说可以用公式表示:UI=render(state)。UI和state都是用户设置的,都是可变的,不变的只有render(),所以vue起的就是render()的作用。 那么render有什么作用呢?即监听sta 阅读全文
posted @ 2021-08-17 16:08 卿六 阅读(109) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示