nexttick ,this. nexttick能拿到data数据吗

本文目录

this. nexttick能拿到data数据吗


可以。
应用场景:
vue中数据和dom渲染由于是异步的,所以,要让dom结构随数据改变,都应该放进this.$nextTick()的回调函数中。
created()中使用的方法时,dom还没有渲染。所以,created()钩子函数进行的DOM操作一定要放在Vue.nextTick()的回调函数中。
mounted()的钩子函数则是在dom完全渲染后才开始渲染数据,所以在mounted()中操作dom基本不会存在渲染问题。
简单的理解,vue.js中this.$nextTick()就是起到了一个等待数据的作用,将一些回调延迟,等到DOM更新之后再开始执行。简单点说,相当于setTimeout()的作用。
例如:
1.你改变了dom元素数据,然后你又想输出dom,那你只能等到dom更新完成之后才会实现.
2.通过事件改变data数据,然后输出dom,在方法里直接打印的话, 由于dom元素还没有更新, 因此打印出来的还是未改变之前的值,而通过this.$nextTick()获取到的值为dom更新之后的值。

nexttick
,this. nexttick能拿到data数据吗图1

vue对象双向绑定


获取不到DOM的解决方案(使用$nextTick)
定义:在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。
理解:nextTick(),是将回调函数延迟在下一次dom更新数据后调用,简单的理解是:当数据更新了,在dom中渲染后,自动执行该函数.
使用场景:
1.1、Vue生命周期的created()钩子函数进行的DOM操作一定要放在Vue.nextTick()的回调函数中,原因是在created()钩子函数执行的时候DOM 其实并未进行任何渲染,而此时进行DOM操作无异于徒劳,所以此处一定要将DOM操作的js代码放进Vue.nextTick()的回调函数中。与之对应的就是mounted钩子函数,因为该钩子函数执行时所有的DOM挂载已完成。
1.2、当项目中你想在改变DOM元素的数据后基于新的dom做点什么,对新DOM一系列的js操作都需要放进Vue.nextTick()的回调函数中;通俗的理解是:更改数据后当你想立即使用js操作新的视图的时候需要使用它
1.3、在使用某个第三方插件时 ,希望在vue生成的某些dom动态发生变化时重新应用该插件,也会用到该方法,这时候就需要在 $nextTick 的回调函数中执行重新应用插件的方法。
我在获取到数据后赋值给数据模型中list属性,然后我想引用ul元素找到第一个li把它的颜色变为红色,但是事实上,这个要报错了,我们知道,在执行这句话时,ul下面并没有li,也就是说刚刚进行的赋值操作,当前并没有引起视图层的更新。因此,在这样的情况下,vue给我们提供了$nextTick方法,如果我们想对未来更新后的视图进行操作,我们只需要把要执行的函数传递给this.$nextTick方法,vue就会给我们做这个工作。

nexttick
,this. nexttick能拿到data数据吗图2

nexttick的原理和作用


nexttick原理实现响应式并不是数据发生变化之后DOM立即变化,而是按一定的策略进行DOM的更新。


同步任务执行完毕,开始执行异步watcher队列的任务,更新DOM。Vue在内部尝试对异步队列使用原生的Promise。then和MessageChannel方法,如果执行环境不支持,会采用setTimeout(fn,0)代替。

nexttick
,this. nexttick能拿到data数据吗图3


扩展资料:


vue在web开发、网站制作中的优势


1、据绑定:vue会根据对应的元素,进行设置元素数据,通过输入框,以及get获取数据等多种方式进行数据的实时绑定,进行网页及应用的数据渲染 。


2、组件式开发:通过vue的模块封装,它可以将一个web开发中设计的各种模块进行拆分,变成单独的组件,然后通过数据绑定,调用对应模版组件,同时传入参数,即可完成对整个项目的开发。


3、简单小巧的核心,渐进式技术栈,足以应付任何规模的应用。


webpack vuecli


当你的业务逻辑代码需要用到更新后的dom的时候使用,写在方法之中。
例子:
new Vue({
el: '#app',
created() {
this.$nextTick(function(){
//代码
})
}
})

nexttick
,this. nexttick能拿到data数据吗图4

以上就是关于nexttick ,this. nexttick能拿到data数据吗的全部内容,以及nexttick 的相关内容,希望能够帮到您。

上一篇 2022年08月09日11时11分30秒
下一篇 2022年08月09日11时21分15秒

相关推荐

  • 名词性物主代词表格

    在英语中,名词性物主代词是用来替代名词的词语。名词性物主代词表格包括了所有的名词性物主代词,这些代词可以用来指代不同的人、事物和动物。 以下是常见的名词性物主代词表格: | 人称代词 | 单数 | 复数 | | --- | --- | --- | | 第一人称 | 我的 | 我们的 | | 第二人称 | 你的 | 你们的 | | 第三人称 | 他/她/它的 | 他们/她们/它们的 | 例如,在句子…

    英语知识 2023年06月07日
    11
  • 名词性从句四大类型

    本文目录 1. 主语从句 2. 宾语从句 3. 表语从句 4. 同位语从句 名词性从句是英语语法中重要的一部分,它可以作为一个名词在句子中充当主语、宾语、表语、同位语等。名词性从句的类型有很多,其中比较重要的有四种类型。 1. 主语从句 主语从句是名词性从句中最常见的一种类型,它可以作为一个名词在句子中充当主语。例如:That he is a liar is obvious.(他是个骗子是显而易见…

    英语知识 2023年06月07日
    11
  • 一般现在与现在进行时

    本文目录 1.一般现在时 2.现在进行时 3.区别和注意事项 英语语法中,一般现在时和现在进行时是最基础的两种时态。它们都是用来描述现在发生的事情,但是它们的使用有一定的区别。 一般现在时 一般现在时用于描述一些经常性或习惯性的动作或状态,或者是一些客观真理或普遍规律。例如: I eat breakfast at 7am every day.(我每天早上七点吃早饭。) Water boils at…

    英语知识 2023年06月07日
    11
  • 非限定性定语从句的先行词

    本文目录 1.先行词的类型 2.先行词的位置 3.先行词的指代 4.先行词的数量 5.结论 在英语中,非限定性定语从句是指用来修饰先行词并且不是必需的从句。这样的从句通常用逗号与主句隔开。在使用非限定性定语从句时,需要特别注意它的先行词,因为先行词的错误使用会导致理解上的混淆。 先行词的类型 非限定性定语从句的先行词可以是人、事物、地点或时间等。下面分别列举一些常见的先行词: 人:Mr. Smit…

    英语知识 2023年06月07日
    11
  • 英语语法应用

    本文目录 1.主谓一致 2.时态 3.语气 4.词汇用法 英语语法是学习英语的重要组成部分,它涉及到句子结构、词汇用法、时态等方面。正确的语法应用能够使我们的英语表达更加准确、流畅、自然。以下是一些常见的英语语法问题及其应用。 主谓一致 主谓一致是指主语和谓语在人称和数上要保持一致。例如:He is a teacher.(他是一名教师)、They are students.(他们是学生)。在使用英…

    英语知识 2023年06月07日
    11
  • 定语从句的关系副词

    英语中,定语从句是一个非常常见并且有用的语法结构。它可以帮助我们更清晰地表达我们的思想,而关系副词则是定语从句的一个重要组成部分。 关系副词有三个:where、when、why。它们分别在定语从句中引导地点、时间和原因。下面我们来看一些例子: The house where I grew up is now a museum. That was the day when everything ch…

    英语知识 2023年06月07日
    11
  • 英语中非限定性定语从句

    本文目录 1.非限定性定语从句的结构 2.非限定性定语从句的用途 3.非限定性定语从句的注意事项 在英语语法中,非限定性定语从句是一个非常常见的语法结构。这种从句通常用于对主句中的某个名词或代词进行解释或补充说明。非限定性定语从句的特点是它可以被省略,即使省略了也不会影响主句的意思。在这篇文章中,我们将探讨一下非限定性定语从句在英语中的应用。 非限定性定语从句的结构 非限定性定语从句的结构非常简单…

    英语知识 2023年06月07日
    11
  • 递进关系句子

    递进关系句子是英语语言中非常常见的一种句型,它可以用来表达一个观点在另一个观点的基础上更进一步的发展。递进关系句子可以让文章更加连贯,更有说服力。 递进关系句子通常以转折词汇为开头,如“however”、“nevertheless”、“on the other hand”等等。这些词语的使用可以让读者立刻意识到这个句子与前面的句子存在一定的关联,同时也有一个转折的意味。 一个很好的递进关系句子的例…

    英语知识 2023年06月07日
    11