每日三问之$nextTick基本用法、详解css盒子模型、prototype与proto详解

28 篇文章 0 订阅
24 篇文章 0 订阅
本文详细介绍了Vue的$nextTick方法,用于在DOM更新后执行回调。在created钩子中进行DOM操作必须配合$nextTick,以确保DOM已渲染。同时,文章还探讨了CSS盒子模型的两种类型——标准模型和IE模型,以及它们的设置方法。最后,讨论了原型和proto的区别,帮助理解JavaScript对象的继承机制。
摘要由CSDN通过智能技术生成

$nextTick基本用法

  • 定义

        在下次DOM更新循环结束后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的DOM。即当数据更新了在DOM中渲染后自动执行该函数。

methods: {
    // ...
    example: function () {
      // modify data
      this.message = 'changed'
      // DOM is not updated yet
      this.$nextTick(function () {
        // DOM is now updated
        // `this` is bound to the current instance
        this.doSomethingElse()
      })
    }
  }
  • 使用场景
  1. created()钩子函数进行的DOM操作一定要放在Vue.$nextTick()的回调函数中,因为vue生命周期created()钩子函数执行时DOM其实并未进行任何渲染故此时进行DOM操作无异于徒劳。与之对应的是mounted钩子函数,该钩子函数执行时所有的DOM挂载已经完成。
  2. 项目中想在改变DOM元素的数据后基于新的DOM做点什么时,对新的DOM一系列的js操作都要放进Vue.nextTick()的回调函数中
  • 原理

        Vue是异步执行DOM更新的,一旦观察到数据变化,Vue就会开启一个队列,然后把在同一个事件循环(event loop)中观察到的数据变化的watcher推送进这个队列。如果这个watcher被触发多次,只会被推送到队列一次。这种缓冲行为可以有效去掉重复数据造成不必要的计算和DOM操作。而在下一个事件循环时,Vue会清空队列,并进行必要的DOM更新。

详解css盒子模型

1873969530-5490e36db4dae_articlex.png

css盒子模型有两种,一种是W3C盒模型也就是标准模型,另一种是IE盒模型

css两种盒子模型的设置方法:

/* 标准模型 */
box-sizing:content-box;

/*IE模型*/
box-sizing:border-box;

标准模型:W3C盒模型即标准模型的宽度或者高度为content(内容) + padding (内边距)+ border(边框)

1265396-20171119143703656-1332857321.png

IE盒模型:IE盒模型的宽度或者高度为content(内容)的宽度和高度

1265396-20171119144229156-49945808.png

.content {background: #eee; height: auto;border: 1px solid black;}
.div {width: 105px;height: 105px;margin: 30px;padding: 15px;border: 5px solid black;}
.div-01 {background: green;}
.div-02 {background: pink;box-sizing: border-box;}


<div class="content">
    <div class="div div-01">W3C盒模型</div>
    <div class="div div-02">IE盒模型</div>
</div>

 

2345截图20180903153701.png

prototype与proto详解 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值