this.$nextTick
首先我们先来看看官方介绍的用法:
将回调延迟到下次 DOM 更新循环之后执行。在修改数据之后立即使用它,然后等待 DOM 更新。
它跟全局方法 Vue.nextTick 一样,不同的是回调的 this 自动绑定到调用它的实例上。
理解:
1.总结来说, 假设我们更改了某个dom元素内部的文本,而这时候我们想直接打印出这个被改变后的文本是需要dom更新之后才会实现的,
也就好比我们将打印输出的代码放在setTimeout(fn, 0)中;
具体代码如下(代码放在一个组件内):
<template>
<button ref="tar" type="button" name="button" @click="testClick">{{ content }}</button>
</template>
export default {
data(){
return {
content: '初始值'
}
}
}
methods: {
testClick(){
this.content = '改变了的值';
// 这会直接打印的话, 由于dom元素还没有更新, 因此打印出来的还是未改变之前的值;
console.log(that.$refs.tar.innerText);//初始值
}
}
2.this.$nextTick()这个方法作用是当数据被修改后使用这个方法会回调获取更新后的dom再render出来
// 方法
methods: {
testClick(){
this.content = '改变了的值';
this.$nextTick(() => {
// dom元素更新后执行, 因此此处能正确打印出更改之后的值;
console.log(that.$refs.tar.innerText); //改变了的值
})
}
}
this.$nextTick的更多相关文章
- 理解 Node.js 里的 process.nextTick()
有很多人对Node.js里process.nextTick()的用法感到不理解,下面我们就来看一下process.nextTick()到底是什么,该如何使用. Node.js是单线程的,除了系统IO之 ...
- Node.js学习笔记:setImmediate与process.nextTick
通过process.nextTick注册的函数在当前这个事件循环中执行的函数执行完毕后立即执行,相当于把当前的同步代码执行完毕之后,立刻执行所有的通过process.nextTick注册的函数,如果注 ...
- Node.js的process.nextTick(callback)理解
Node.js是单线程的,基于事件循环,非阻塞 IO的.事件循环中使用一个事件队列,在每个时间点上,系统只会处理一个事件,即使电脑有多个CPU核心,也无法同时并行的处理多个事件.因此,node.js适 ...
- setTimeout,setInterval,process.nextTick,setImmediate in Nodejs
Nodejs的特点是事件驱动,异步I/O产生的高并发,产生此特点的引擎是事件循环,事件被分门别类地归到对应的事件观察者上,比如idle观察者,定时器观察者,I/O观察者等等,事件循环每次循环称为Tic ...
- 比较setImmediate(func),setTimeout(func),process.nextTick(func)
node中的事件优先级机制: console.log('第一笔!'); process.nextTick(function() { console.log('吃个饭吧!'); setImmediata ...
- setTimeout和setImmediate以及process.nextTick的区别
在javascript中我们了解到了setTimeout和setInterVal函数事件队列(任务队列)的相关知识,除了setTimeout和setInterval这两个方法外,Node.js还提供了 ...
- vue之nextTick全面解析
vue的第一篇文章,介绍一下简单的nextTick方法的实现原理 简介 vue是非常流行的框架,他结合了angular和react的优点,从而形成了一个轻量级的易上手的具有双向数据绑定特性的mvvm框 ...
- 聊聊VUE中的nextTick
在谈nextTick之前,先要说明一件事,可能在我们平时使用vue时并没有关注到,事实上,vue执行的DOM更新是异步的. 举个栗子: <template> <div class=& ...
- Vue中之nextTick函数源码分析
Vue中之nextTick函数源码分析 1. 什么是Vue.nextTick()?官方文档解释如下:在下次DOM更新循环结束之后执行的延迟回调.在修改数据之后立即使用这个方法,获取更新后的DOM. 2 ...
- vue2.0 正确理解Vue.nextTick()的用途
什么是Vue.nextTick() 官方文档解释如下: 在下次 DOM 更新循环结束之后执行延迟回调.在修改数据之后立即使用这个方法,获取更新后的 DOM. 获取更新后的DOM,言外之意就是DOM更新 ...
随机推荐
- 腾讯云nginx配置https
给腾讯nginx服务器配置https, 之前申请https配置后直接给node配置了,还没有用nginx. 按照 https://cloud.tencent.com/document/product/ ...
- java网页程序采用 spring 防止 csrf 攻击 转
银行项目开发过程中,基本都会采用 spring 框架,所以完全可以不用自己开发 filter 去拦截 csrf 攻击的请求,而直接采用实现 spring 提供的 HandlerInterceptor ...
- Python三种注释及分行换行输出
1.单行注释 以#开头,#右边的所有东西都被当成文字说明,而不是真正要执行的程序,只是起到辅助说明作用(#后需要先添加一个空格). 单行注释写到行内代码后边,或者单独一行均可. # 我是单行注释,#号 ...
- 剑指offer-面试题18-删除链表的节点-链表
/* 题目:给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间内删除该节点. */ /* 思路: 将要删除的节点的下一个节点的value和next复制过来,删除下一个节点. 考虑两种特殊情 ...
- One CLI for webpack must be installed. These are recommended choices, delivered as separate packages:
C:\Users\arn>webpack -v One CLI for webpack must be installed. These are recommended choices, del ...
- matlab HW求法笔记
for i=1:9400 Sbox_out_11(i) = length(findstr(num2str(dec2bin(Sbox_out_1(i,:))),'1')); end
- MySQL 8 通用二进制发行版安装
安装前的一些说明: 检查平台兼容性: https://www.mysql.com/support/supportedplatforms/database.html 如果是在RedHat7版本安装的话, ...
- 小白的java学习之路 "类的无参方法"
Java注释: //:单行注释 /**/:多行注释 /** */:JavaDoc注释语法: 访问修饰符 返回值类型 方法名(){ 方法体 } 举例: public void run(){ System ...
- 前端开发 css、less编写规范
壹 ❀ 引 早在大半年前,我在负责整理定义了前端组JavaScript开发规范与less.css样式开发规范.一直想将两个规范整理成文章,但在整理了JavaScript规范后,我花了较多的时间在学习J ...
- A函数跨区域
ODerController.class.php内容如下 1 <?php /* * To change this license header, choose License Headers i ...