摘要:
箭头函数 箭头函数的this指向父级作用域的this,通过查找作用域链来确定的,也就是上下文的this.指向的定义它的对象。普通函数指向它的调用者。 箭头函数没有prototype原型. call,apply,bind无法改变箭头函数的this,因为箭头函数的this在定义时就确定了不会修改。 箭头 阅读全文
摘要:
一、Vue3的优点 1、diff算法的提升 vue2中的虚拟DOM是全量的对比,也就是不管是写死的还是动态节点都会一层层比较,浪费时间在静态节点上。 vue3新增静态标记(patchflag ),与之前虚拟节点对比,只对比带有patch flag 的节点,可通过flag信息得知当前节点要对比的具体内 阅读全文
摘要:
虚拟dom和真实dom? 虚拟dom: const vNode={ key=null, props:{ children:[ {type:'span'}, {type:'span'} ], className:'red', onclick:()=>{} }, ref=null, type='div' 阅读全文
摘要:
观察者模式:通常被称作发布-订阅模式 在vue中,数据的双向绑定的原理: 采用数据劫持 结合 发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相关监听回调。 对于mvc和mvvm的理解: mvc 阅读全文
摘要:
在vue2中,数据的响应式是根据 Object.defineProperty方法实现的,所以需要拦截的属性key必须是已知的,也就是对于新增的key无能为力。 在vue3中,使用了代理Proxy。该方法不需要关心key,他拦截的是data,不管是新增还是已知的key,都会被捕捉到。 vue3和vue 阅读全文
摘要:
需求:有时候源码文件夹内的某个文件有问题 需要替换才能运行程序,这个时候如何做到每个新人来了拿到项目,在没有任何操作下,运行项目呢? 答:将替换文件的操作放到项目运行或者打包时。 在node模板内根据path和 fs模块来获取文件位置,并替换文件夹目录 首先判断是文件夹,将要替换的文件外部写一个js 阅读全文
摘要:
创建react项目 npx create-react-app my-app cd my-app npm start setState是异步的。 想要实现同步执行的效果,需要对其传参数为函数。 state和props的区别: 首先两者都是js对象,都是用来保存信息的,这些信息可以控制组件的渲染和输出, 阅读全文
摘要:
如何在函数组件中实现条件渲染呢? 列表渲染 list提前使用list, setList 和useState,hooks进行设置初始值。在return函数中编写列表渲染 <ul> {list.map(item => <li key={item}>{item}</li> )} </ul> 条件渲染 : 阅读全文
摘要:
1.import方式 设置背景图 示例: import test from '@/assets/test.png';//页面内 <div class="wrap" :style="{backgroundImage: `url(${test})`}"></div> 2.require方式 设置图片路径 阅读全文
摘要:
vuex-状态管理工具 对于vuex来说,它只是一个状态管理工具,当有些变量不止在组件间用时,可能很多页面都会复用。我们使用vuex进行管理。 state:设置初始值状态。 getters:store仓库的计算属性,主要作用是派生出一些新的状态。比如将state状态的数据进行一次映射或者筛选。 mu 阅读全文