v-cloak:解决由于网速过慢或其他问题导致的加载不出数据问题,一般与css属性连用,使得,当该属性未加载时处于不可见的形式,css属性设为display:none;
v-text:将该指令所在的元素内容改为文本,文本内容是v-text后的文本,一般设置为可变,在vue中的data定义,不存在加载不出的问题;
v-html:将该指令所在的元素内容改为html元素,内容是v-html后的HTML语句,同v-text,一般设为可变,并存放在data中,不存在加载不出的问题。
一个简单例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<style>
[v-cloak]{
display: none;
}
</style>
<body>
<div id="app">
<!--v-cloak可以解决由于网速过慢或其他问题导致的加载不出数据问题-->
<p v-cloak>============{{msg}}===========</p>
<p v-html="mssg">============{{msg}}===========</p>
<p v-text="mssg">============{{msg}}===========</p>
</div>
<script src="../js/vue.js" type="text/javascript"></script>
<script>
var Myvue=new Vue({
el: "#app",
data: {
msg: "message",
mssg:"<h1>标题</h1>"
}
});
</script>
</body>
</html>
运行结果:
如图,一般来说,加载后,我们都不会看到第一个p段落中的{{msg}},但是把网速调慢,我们可以看到刷新出来时,并不是直接<p>message</p>,而是<p>{{msg}}</p>,这个时候v-cloak,就可以派上用场。
另外,可以发现后面两个p段落中的文本并没有显示出来,而是分别被v-html后的HTML语句和v-text后的文本代替,同时,强调一下,v-text只会把双引号中的看做文本元素。