$nextTick()的理解

admin4年前vue651

简单理解Vue中的nextTick 简单理解Vue中的nextTick

$nextTick()的理解 $nextTick()的理解

错误示例1:

test.html

<!DOCTYPE html>

<html>


<head>

<meta charset="utf-8">

<title>Vue 测试实例 - 菜鸟教程(菜鸟教程 - 学的不仅是技术,更是梦想!)</title>

<script src="unpkg.com/vue/dist/vue."></script>

</head>


<body>

<div id="app">

<div v-if="showText" id="text">想要知道这段文字写的是什么?</div>

<button @click="clickMe">点我试试看就能知道那段隐藏的文字写的是什么了?</button>

</div>


<script>

new Vue({

el: '#app',

data: {

showText: false

},

methods: {

clickMe: function () {

this.showText = true;

var text = document.getElementById('text').innerHTML;

alert(text);

}

}

})

</script>

</body>


</html>

正确示例2:vue实现响应式并不是数据发生变化后dom立即变化,而是按照一定的策略来进行dom更新。

$nextTick是在下一次dom更新循环结束之后执行延迟回调,在修改数据之后使用这个方法,立即更新dom.

test.html

<!DOCTYPE html>

<html>


<head>

<meta charset="utf-8">

<title>Vue 测试实例 - 菜鸟教程(菜鸟教程 - 学的不仅是技术,更是梦想!)</title>

<script src="unpkg.com/vue/dist/vue."></script>

</head>


<body>

<div id="app">

<div v-if="showText" id="text">想要知道这段文字写的是什么?</div>

<button @click="clickMe">点我试试看就能知道那段隐藏的文字写的是什么了?</button>

</div>


<script>

new Vue({

el: '#app',

data: {

showText: false

},

methods: {

clickMe: function () {

this.showText = true;

this.$nextTick(function () {

var text = document.getElementById('text').innerHTML;

alert(text);

})

}

}

})

</script>

</body>


</html>


相关文章

vue中render: h => h(App)的详细解释

render: h => h(App) 是下面内容的缩写:进一步缩写为(ES6 语法):再进一步缩写为:按照 ES6 箭头函数的写法,就得到了:其中 根据 Vue.js 作者 Even...

vue滚动加载列表

new Vue({    el: '#app',    data: {  &n...

vue获取当前日历和星期

currentTime: function () {         var d = new Date(), str = '';&nb...

vue上传片段代码

uploadFile: function(e) {           &nb...

vue-element动态生成的表单检验使用validator属性,直接写在el-form-item

https://blog.csdn.net/qq_40052817/article/details/89184153...

防懂车帝车型对比功能

<!DOCTYPE html> <html> <head>     <meta http...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。