指令 (Directives) 是带有 v- 前缀的特殊 attribute。指令 attribute 的值预期是单个 JavaScript 表达式 (v-for 是例外情况,稍后我们再讨论)。指令的职责是,当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM。
1.v-cloak指令用于解决插值表达式的“闪动”问题。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>解决插值表达式的“闪动”问题</title>
<script src="js/vue.js"></script>
<style>
/* 1.添加样式 [v-cloak]{display:none;} */
[v-cloak]{display:none;}
</style>
</head>
<body>
<div id="app">
<!-- 2. 在插值表达式所在的标签中添加v-cloak指令 -->
<h1 v-cloak>{{message}}</h1>
</div>
<script>
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!'
}
})
</script>
</body>
</html>
原理:先隐藏,替换好值之后显示最终的值。在数据渲染完场之后,v-cloak 属性会被自动去除, v-cloak一旦移除也就是没有这个属性了,属性选择器就选择不到该标签,也就是对应的标签会变为可见。