爱编程程序员

Vue基本指令

2018-10-17  本文已影响29人  一叶扁舟丶

v-cloak

v-cloak 不需要表达式,他会在 Vue 实例结束编译时从绑定的 HTML 元素上移除,经常和CSS的 display: none; 配合使用:

<!DOCTYPE html>
<html>
<head>

    <meta charset="utf-8">
    <title>示例</title>

</head>
<body>

    <div id="app" v-cloak>
        {{ message }}
    </div>

    <script src="https://unpkg.com/vue/dist/vue.min.js"></script>

    <script>

        var app = new Vue({
            el: '#app',
            data: {
                message: '这是一段文本'
            }

        });

    </script>
</body>
</html>

这事虽然已经加了指令 v-cloak, 但其中并没有起到任何作用,当网速较慢, Vue.js 文件还没加载完时,在页面上会显示 {{ message }} 的字样,直到 Vue 创建实例,编译模板时,DOM 才会被替换,所以这个过程屏幕是有闪动的.只要加一句 CSS 就可以解决这个问题了:

[v-cloak] {
     display: none;
}

在一般情况下,v-cloak 是一个解决初始化慢导致页面闪动的最佳实践,对于简单的项目很实用,但是在具有工程化的项目里,项目的 HTML结构只有一个空的 div 元素,剩余的内容都是由路由去挂载不同组件完成的,所以不再需要 v-cloak.

上一篇下一篇

猜你喜欢

热点阅读