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>


posted @ 2022-04-16 11:40  春暖花开鸟  阅读(421)  评论(0编辑  收藏  举报