有点与Angular不同。希望在Vue实例编译完成之前消失变量名{{ message }}
因为经常接触Angular,所以脑海中的Angular和Vue有点混淆了。
尽管在 Angular 中也有类似的情况,但在 Vue.js 中,直到解析 {{ }} 变量之前,浏览器的屏幕上会短暂显示 {{ message }} 等变量名称,这让人感到不舒服。
那么,在Angular中称为ng-cloak的东西,在Vue.js中也有。不过,有一些与Angular稍有不同之处,我打算在此留下一些笔记。
这篇文章使用的是Vue.js v2.2.6。
v-cloak 和 ng-cloak 有何不同
使用 v-cloak 可以在 Vue 实例编译完成前,不在屏幕上渲染出 {{ }}。
在处理Angular时需要注意的一点是,
<div ng-cloak>
{{ message }}
</div>
只需要设定一次,但是当使用v-cloak时
[v-cloak] {
display: none;
}
这需要与 CSS 规则相结合。
我被这个问题困扰了一阵。如果不好好阅读参考文献就不会遇到这种情况。(;一___一)
使用实际的v-cloak进行简单的示例。
<html>
<head>
<style>
[v-cloak] {
display: none;
}
</style>
</head>
<body>
<div id="app" v-cloak>
{{ message }}
</div>
<script src="lib/vue.min.js"></script>
<script>
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!'
}
})
</script>
</body>
</html>