一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第7天,点击查看活动详情。
这篇文章是我从其他平台搬运来的(是我原创的)。
背景
nextTick是vue面试中高频考点。 有这么几个问题:
- nextTick的作用
- nextTick的工作原理
- nextTick和Promise的关系
this.数据项=新值背后做了什么?- Tick这个单词是什么意思?如何理解?
简单测试
下面有一个份初始代码,你可以复制到本地,直接打开运行。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<div id="app">
<div id="div">{{a}}</div>
<button @click="btn">btn</button>
</div>
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.9/vue.js"></script>
<script>
var vm = new Vue({
el:"#app",
data:{ a :1 },
methods: {
btn() {
this.a = 2
const div = document.getElementById('div')
this.$nextTick(() => {
console.log('nextTick', div.innerHTML)
})
console.log(div.innerHTML)
}
}
})
</script>
</body>
</html>
问题是:点击了按钮之后,输出的顺序和结果是什么?
这应该难不到你吧?
答案是:1;nextTick 2;
如果你答不对,那你不用继续往下做题了。😂
进阶题目
好了,下面类似的题有7道,为了节省代码,我只给出了btn()中的部分。
题目1
题目2
题目3
题目4
题目5
题目6
题目7
如果你能很清楚的答出来,就请直接拉到底部,留言给我,让我膜拜一下。要是你有疑惑,或者不太会。可以看这里