v-text & v-html
我们已经会在html中输出data中的值了,我们已经用的是{{xxx}},这种情况是有弊端的,就是当我们网速很慢或者javascript出错时,会暴露我们的{{xxx}}。Vue给我们提供的v-text,就是解决这个问题的。我们来看代码:
页面会先出现双大括号,才加载出现的数据
<span>{{ message }}</span>=<span v-text="message"></span><br/>
如果在javascript中写有html标签,用v-text是输出不出来的,这时候我们就需要用v-html标签了。
<span v-html="msgHtml"></span>
双大括号会将数据解释为纯文本,而非HTML。为了输出真正的HTML,你就需要使用v-html 指令。
需要注意的是:在生产环境中动态渲染HTML是非常危险的,因为容易导致XSS攻击。所以只能在可信的内容上使用v-html,永远不要在用户提交和可操作的网页上使用。
v-cloak指令也可以解决上面的问题
原理是:先隐藏这个显示区域,等数据加载成功之后才显示。
在vue渲染完指定的整个DOM后才进行显示。它必须和CSS样式一起使用。
[v-cloak] { display: none;}
<div v-cloak> {{ message }}</div>
注意:本文归作者所有,未经作者允许,不得转载