Vue中文本渲染三种方法 {{}}、v-html、v-text的区别

v-text和{ {}}

说明:显示普通文本

简写方式:{ {}}

语法:

1:<p v-text="msg"></p>
2:<p>{
   
   {msg}}</p>

实例

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>

    <body>
        <div id="app">
       	   <p v-text='msg1'></p>
       	   <p>{
   
   {msg2}}</p>
        </div>
    </body>
    <script src="../vue.js"></script>
    <script>
       var vm = new Vue({
            el: '#app',
            data: {
              msg1:'这是一个消息',
              msg2:'这是另外一个消息'
            }
        })
    </script>
</html>

页面效果:

v-html

说明:输出真正的 HTML

语法:<p v-html='msg'></p>

实例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>

    <body>
        <div id="app">
       	   <p v-html='msg3'></p>
        </div>
    </body>
    <script src="../vue.js"></script>
    <script>
       var vm = new Vue({
            el: '#app',
            data: {
              msg1:'这是一个消息',
              msg2:'这是另外一个消息',
              msg3:'<strong>这是一个html<strong>'
            }
        })
    </script>
</html>

页面效果:

区别

v-html输出真正的 HTML,v-text仅渲染标签,不能解析 HTML 代码

实例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>

    <body>
        <div id="app">
       	   <p v-text='msg3'></p>
       	   <p>{
   
   {msg3}}</p>
       	   <p v-html='msg3'></p>
        </div>
    </body>
    <script src="../vue.js"></script>
    <script>
       var vm = new Vue({
            el: '#app',
            data: {
              msg1:'这是一个消息',
              msg2:'这是另外一个消息',
              msg3:'<strong>这是一个html<strong>'
            }
        })
    </script>
</html>

页面效果:

总结

v-text和{ {}}表达式渲染数据,不解析标签,如果有标签则直接当做字符输出到页面上。

  v-html不仅可以渲染数据,而且可以解析标签。

猜你喜欢

转载自blog.csdn.net/dkm123456/article/details/114642489