{{ }} 语法:将数据作为普通文本输出,不会覆盖原有的内容

vtext 指令:将数据作为普通文本输出,会覆盖原有的内容

vhtml 指令:将数据作为 HTML 标签解析输出,会覆盖原有的内容

注:一定要在可信内容使用 vhtml,永远不要在用户提交内容使用,避免坏人利用动态渲染,获取用户cookie 进行 XSS 攻击

语法格式

&lt;div&gt;{{ 数据 }}</div&gt;

<div v-text="数据"&gt;</div&gt;

<div v-html="数据"&gt;</div&gt;

渲染普通文本

<template&gt;
  <h3 v-pre&gt;使用 {{ }} 语法渲染</h3&gt;
  <p&gt;{{ data }}</p>
  <hr />
  <h3>使用 v-text 语法渲染</h3>
  <p v-text="data"></p>
  <hr />
  <h3>使用 v-html 语法渲染</h3>
  <p v-html="data"></p>
  <hr />
</template>

<script setup>
import { ref } from "vue";
let data = ref("你好呀!");
</script>

:v-text 和 v-html 必须在空标签使用,不允许有其它内容,否则就会报错。 

渲染富文本

<template>
  <h3 v-pre>使用 {{ }} 语法渲染</h3>
  <p>{{ data }}</p>
  <hr />
  <h3>使用 v-text 语法渲染</h3>
  <p v-text="data"></p>
  <hr />
  <h3>使用 v-html 语法渲染</h3>
  <p v-html="data"></p>
  <hr />
</template>

<script setup>
import { ref } from "vue";
let data = ref("<b>我是b标签</b>");
</script>

:只有 v-html 可以将数据中的 HTML 标签解析渲染到页面中。 

渲染 JS 表达式

<template>
  <h3 v-pre>使用 {{ }} 语法渲染</h3>
  <p>{{ data * 10 }}</p>
  <hr />
  <h3>使用 v-text 语法渲染</h3>
  <p v-text="data * 10"></p>
  <hr />
  <h3>使用 v-html 语法渲染</h3>
  <p v-html="data * 10"></p>
  <hr />
  <button @click="data++">点击加一</button>
</template>

<script setup>
import { ref } from "vue";
let data = ref(1);
</script>

可以编写任意的 JS 表达式,并且数据改变后,页面就会自动更新

原创作者:吴小糖

创建时间:2023.12.1 

原文地址:https://blog.csdn.net/xiaowude_boke/article/details/134745899

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_25048.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注