2019-04-12
2019-04-11
2019-04-10
vue 生命周期钩子函数
beforeCreate 在实例化时候
created 实例化刚完成 完成了数据观测 计算和方法的计算
beforeMount $el 挂载之前render函数被首次调用
mounted $el 已经挂载完毕 不承诺子组件一起被挂载,要等整个视图渲染完毕,使用nextTick
beforeUpdate 数据更新之前 可以手动移除已经添加的事件监听器
updated 数据更新之后
actived keep-alive 组件激活时候调用
deactived keep-alive 组件停用时候调用
beforeDestroy 实例销毁之前
destroyed 实例销毁
errorCaptured 错误捕获
2019-04-09
1、理解data响应式原理(2)
set
Vue不允许动态添加根级响应式属性,所以必须在初始化实例前声明根级响应式属性
1
2
3
4Vue.set(object, key, value)
this.$set(this.someobject, 'a', 1)
// 向已有对象添加多个属性使用Object.assign() 或 _.extend() 方法添加属性,但是这样添加盗对象上的新属性不会触发更新,在这种情况下可以创建一个新的对象,让它包含原生对象的属性和新的属性 代替 Object.assign({}, this.someObject, {a: 1, b: 2})
this.someobject = Object.assign({}, this.someObject, {a: 1, b: 2})
一步更新DOM元素,使用队列来存储变化,同一个watcher 的多次触发只会在队列存储一个,去除重复数据减少不必要的 DOM 更新
使用 promise 或者 setTimeout 对Dom进行更新
this.$nextTick() 会返回一个promise 所以可以使用 async await
2019-04-08
vue:
1、data vue的响应式数据对象
2、理解data响应式原理(1)
使用 Object.defineProperty(object, prop, value)