03-Vue指令之v-text和v-html

Vue指令:v-textv-html

  • v-html:相当于 innerHTML 。内容按普通 HTML 插入,不会作为 Vue 模板进行编译
  • v-text:相当于 textContentv-text会替换元素中所有的文本,包括子元素。优先级比插值表达式高。

注意:小心XXS攻击,在可信内容上使用v-html,拒绝用户交互下使用该指令。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue指令之v-text和v-html</title>
</head>
<body>
<div id="app">
<p>{{ message }} 这里内容不会被覆盖</p>
<p v-text="message"> 这里内容会被覆盖</p>
<p v-html="message"> 这里内容会被覆盖</p>
</div>
</body>
<script src="js/vue.js" type="text/javascript"></script>
<script type="text/javascript">
var vm = new Vue({
el: "#app",
data: {
message: "<strong>Hello World</strong>"
}
})
</script>
</html>

浏览器中的显示结果

PS:如有任何问题,欢迎在下面评论区留言,让我们共同进步,非常感谢!(^o^)v


03-Vue指令之v-text和v-html
https://liaoliaocode.xyz/article/9186/
作者
Brian.Gao
发布于
2022年4月7日
许可协议