关于v-cloak指令,这是一个解决初始化缓慢导致的页面闪动的最好的解决方案,不过这点对于简单的项目是很实用的。对于那些使用工程化的项目里,比如我们使用的webpack和vue-router,就不需要使用这个v-cloak。
这个标签的特性在于它会在vue实例编译结束后从绑定的html元素上移除。通常情况下和下面示例的样式display: none一起使用的。
<template>
<div v-cloak>
{{message}}
</div>
</template>
<script>
export default {
name: "VCloak",
data() {
return {
message: 'v-cloak示例'
}
}
}
</script>
<style scoped>
[v-cloak] {
display: none;
}
</style>
这个示例在浏览器运行不会起到任何作用的额,只有在那些网速较慢,vue.js还没有加载完成的时候,页面才会显示我们的{{message}}字样,直到创建实例,编译模板时,dom才会被替换的,所以这个过程屏幕会有闪动。