原因
vue先将插值表达式直接显示在页面当中,然后再快速的进行替换。但当网络不好,或进程卡顿时会产生闪烁的现象。
解决
1.提供样式
[v-cloak] {
display: none;
}
2.在插值表达式所在的标签中添加v-cloak指令
这个指令可以隐藏未编译的 Mustache 标签直到实例准备完毕。
通过样式隐藏内容,然后在内存中进行值的替换,替换好后再显示最终结果。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<style>
[v-cloak] {
display: none;
}
</style>
<body>
<div id="app">
<h1 v-cloak>{{message}}</h1>
</div>
<script src='./js/vue.js'></script>
<script>
new Vue({
el: '#app',
data: {
message: 'hello world'
}
})
</script>
</body>
</html>