v-text
v-text 指令也可以用来渲染文本,凡是以v-开头的就是指令,指令的功能就是增强html标签的功能
使用:在标签属性位置上写v-text='属性名';
和插值表达式的使用区别:
插值表达式写在标签的innerHTML位置,而v-text写在标签属性位置,平时推荐使用{{}}
v-html
v-html 可以用来渲染带标签的文本;
在网站上动态渲染任意HTML是非常危险的,因为容易导致XSS攻击,只在可信内容上使用v-html
永远不用在用户提交的内容上;
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="./vue1026.js"></script>
</head>
<body>
<div id="app">
<p v-html='name'></p>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
name: '<p>vivi</p>'
}
})
</script>
</body>
</html>
v-cloak, v-text, v-html
v-cloak:解决插值表达式闪烁的问题
<style>
[v-cloak]{
display:none;
}
</style>
<p v-cloak>糖糖</p>
v-text:默认的v-text没有闪烁的值;
会覆盖元素中原本的内容,但是插值表达式只会替换自己的占位符,不会把整个元素的内容清空;
v-html:会覆盖元素中原本的内容,解析html标签