2021-08-06随记(vertical-align, 顶线、底线、中线、基线,vue原理理解)

vertical-align

父元素是inline或者是table-cel,如果是inline-block或者block则必须要设置line-height(和高度一样)子元素为inline或者inline-block才可以,vertical-align属性不继承,必须单独设置


顶线、底线、中线、基线

顶线:汉字的最顶部

底线:汉字的最底部

中线:英文x的中部

基线:英文x的底部


行高,行距,font-size,line-height

行高:两条基线之间的高度

行距:底线与下一行的顶线的距离

font-size:px指的是顶线与底线的距离,汉字正方形宽高一样,英文长方形,宽为高的一半

line-height:font-size加行距


vue原理理解

利用Object.defineproperty将data转换成getter,setter(object.definedProperty es5不支持,所以vue不支持ie8及以下版本),每一个vue实例都有一个watcher实例,将所有接触到的propert记录为依赖,当setter触发是会通知watcher,从而是关联的组件重新渲染

无法监听对象的增加删除,可以用set,如果是多个可以用
this.someObject = Object.assign({}, this.someObject, { a: 1, b: 2 })
代替
Object.assign(this.someObject, { a: 1, b: 2 })

同样也无法监听到数组根据下标做的改变和数组长度的改变,可以用this.$set(arr, index, new Value)解决,也可以用arr.splice(index, 1, newValue)解决,长度改变问题同样可以用splice解决

vue不准动态添加根级响应property,必须在初始化实例前声明所有根级响应property,否则报访问不存在错误

vue异步更新队列:vue更新dom时是异步执行的,监听到数据变化,产生一个新的队列,并且缓冲同一时间循环中的所有数据更新,如果同一个watcher被多次触发,会在缓冲中进行去重,只会被推入队列中一次。在下一次’tick‘中会实际执行队列工作并更新队列,实际工作中可以用$nextTick,在dom真正刷新后触发

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值