摘要:
async/await是同步语法,能以不使用回调函数的方式来实现异步。await被async包裹,await后面可以追加Promise对象,也可以追加async函数。 执行async函数,返回的是一个Promise对象。如果直接返回一个值,那么会把这个值封装成一个Promise对象。 await相当 阅读全文
摘要:
vue中的data必须是函数是为了保证组件的独立性和可复用性。 实例是通过构造函数来创建的,每个构造函数可以new多个实例,每个实例都会继承原型上的方法和属性, 在vue中,一个vue组件就是一个vue实例,当一个组件被复用多次,就会创建多个实例。如果data是对象, 那么被多次复用的这个组件,在某 阅读全文
摘要:
key属性是dom元素的唯一标识,当数组没有发生变化时,key没有实际用处。 作用: 1. 高效的更新虚拟dom,其原理是根据key精准找到节点位置,从而避免频繁更新其它元素,使整个更新过程更加高效。 2. 若不设置key还可能在列表更新时引发一些隐蔽的bug。如某行数据不该更新的却更新了。 3. 阅读全文
摘要:
1.props 和 $emit。父组件向子组件传递数据是通过props传递的,子组件传递给父组件是通过$emit触发事件来做到的。 2. 父组件中通过 provide 来提供变量,然后在子组件中通过 inject 来注入变量。 3.$refs 获取组件实例。 4.envetBus 兄弟组件数据传递, 阅读全文
摘要:
1.promise是手写异步代码的另一种方式,主要用于解决回调嵌套问题 2.promise提供两个参数resolve(成功时调用的函数),reject(失败时调用的参数),它们是promise内部实现好的函数 3.promise有三种状态,pending 等待,fulfilled成功,rejecte 阅读全文
摘要:
vue2: Vue 的生命周期总共分为8个阶段:创建前/后,载入前/后,更新前/后,销毁前/后。 1、beforeCreate(创建前) 表示实例完全被创建出来之前,vue 实例的挂载元素$el和数据对象 data 都为 undefined,还未初始化。 2、created(创建后) 数据对象 da 阅读全文
摘要:
有五种,分别是 State、 Getter、Mutations 、Actions、 Modules state => 基本数据(数据源存放地)getters => 从基本数据派生出来的数据mutations => 提交更改数据的方法,是同步操作actions => 用于异步操作和提交mutation 阅读全文
摘要:
1. 原型链继承 将父类实例作为子类的原型,这种方式下,子类实例可以共享父类实例的属性和方法,但是无法向父类构造函数传递参数。 function Fun1() { this.name = '我是名称' this.getName = () => { console.log(this.name) } } 阅读全文
摘要:
function Mother(name) { this.name = name } var son = new Mother('名字') 1. 创建了一个新的对象 (son) 2. 新对象会被执行[[prototype]]连接 (son._proto_ = Mother.prototype) 3. 阅读全文
摘要:
防抖与节流的本质其实是差不多的,都是为了减少调用频率,提高前端性能。 防抖是在一段时间内,只执行最后一次的操作。 节流是在执行事件时,每隔一段时间有规律进行运行。 防抖:一般用于input输入框查询事件,或者按钮点击事件较多 <button id="btn">提交</button> <script> 阅读全文