Vue 内置指令 v-html
作用:向指定节点中渲染包含 html 结构的内容
与插值语法的区别:v-html 会替换掉节点中的所有内容,而插值语法不会
与 v-text 的区别:v-html 可以识别 html 结构
严重注意:
v-html 有安全性问题
在网站上动态渲染任意 HTML 是非常危险的,容易导致 XSS 攻击
一定要在可信的内容上使用 v-html,永远不要在用户提交内容上使用 v-html
实例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>内置指令v-html</title>
<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<div id="root">
<h2>姓名:{{name}}</h2>
<!-- 可以看到 v-html 用 str中的内容 替换掉了节点中的内容 '性别:' -->
<h2 v-html="str">性别:</h2>
</div>
<script type="text/javascript">
new Vue({
el: '#root',
data() {
return {
name: '张三',
str: '<h1>你好</h1>'
}
}
})
</script>
</body>
</html>