Vue渲染内容的三种方式

简介: Vue渲染内容的三种方式

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

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

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

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

语法格式:

<div>{{ 数据 }}</div>
 
<div v-text="数据"></div>
 
<div v-html="数据"></div>

渲染普通文本

<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("你好呀!");
</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 表达式,并且数据改变后,页面就会自动更新。


相关文章
|
4天前
|
JavaScript 前端开发 安全
Vue响应式设计
【5月更文挑战第30天】Vue响应式设计
24 1
|
3天前
|
JavaScript 程序员 网络架构
vue路由从入门到进阶 --- 声明式导航详细教程
vue路由从入门到进阶 --- 声明式导航详细教程
vue路由从入门到进阶 --- 声明式导航详细教程
|
3天前
|
资源调度 JavaScript UED
vue路由的基础知识总结,vueRouter插件的安装与使用
vue路由的基础知识总结,vueRouter插件的安装与使用
|
3天前
|
JavaScript
|
4天前
|
编解码 JavaScript API
Vue在移动端的表现如何?
【5月更文挑战第30天】Vue在移动端的表现如何?
11 2
|
4天前
|
JavaScript 前端开发 API
Vue与其他框架的对比优势
【5月更文挑战第30天】Vue与其他框架的对比优势
11 1
|
5天前
|
JavaScript
Vue常用知识点总结
Vue常用知识点总结
12 0
|
5天前
|
JavaScript Java 测试技术
基于vue和微信小程序的校园自助打印系统+springboot+vue.js附带文章和源代码设计说明文档ppt
基于vue和微信小程序的校园自助打印系统+springboot+vue.js附带文章和源代码设计说明文档ppt
25 7
|
5天前
|
JSON JavaScript 前端开发
|
6天前
|
JavaScript 前端开发 Java
开发语言漫谈-Vue
Vue严格说来不是一门语言