前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >3. Vue 模板渲染:插值表达式、v-text、v-html的基本使用

3. Vue 模板渲染:插值表达式、v-text、v-html的基本使用

作者头像
Devops海洋的渔夫
发布2022-01-17 09:20:42
1.7K0
发布2022-01-17 09:20:42
举报
文章被收录于专栏:Devops专栏

前言

最近在赶一个项目,导致更新较慢,实在不好意思。在上一章节讲述了在 Vue 中如果解决网络延迟的问题。

本章节再来讲述「Vue模板渲染」的基础功能。

这个基础功能在前端框架可是很重要的功能,不单单「Vue框架」有此功能,在Django框架等后台都有「模板渲染」的功能,而且写法基本上也是差不多。

那么这个「模板渲染」是干啥的?简单来说就是将「后端查询出来的数据」填充到「前端HTML文件对应的位置」上。

当然,不同类型的字符串或者数据类型,就可能需要用不同的「渲染方式」,这就早就vue框架中有各种不同的渲染方式。

本章节的渲染方式介绍:

  • 插值表达式
  • v-text
  • v-html

以下是基本使用方式

基本使用方式

「插值表达式」

代码语言:javascript
复制
{{ msg }}

「v-text」

代码语言:javascript
复制
<div v-text="msg"></div>

「v-html」

代码语言:javascript
复制
<div v-html="msg"></div>

区别1:插值表达式存在网络延迟问题,而v-text 、v-html不存在该问题。

对于插值表达式的网络延迟问题,上一章节使用 v-cloak 控制样式即可解决。

下面的示例来看看三者的区别表现。

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- 将来 new 的Vue实例,会控制这个 元素中的所有内容 -->
    <div id="app">
        <!-- 使用插值表达式渲染数据 -->
        <p>{{ msg }}</p>

        <!-- 使用v-text渲染数据 -->
        <div v-text="msg"></div>

        <!-- 使用v-html渲染数据 -->
        <div v-html="msg"></div>

    </div>

    <!--  1.导入vue.js库  -->
    <script src="lib/vue.js"></script>

    <script>
        // 2. 创建一个Vue的实例
        var vm = new Vue({
            el: '#app',
            data: {
                msg: 'Hello world,Vue!'
            }
        })
</script>

</body>
</html>
代码语言:javascript
复制

区别2:插值表达式可以增加其他字符串内容,v-text、v-html只能根据data设置的内容渲染元素。

从上面的示例可以看到「插值表达式」「v-text」「v-html」都可以渲染数据,那么为什么需要提供三种方式呢?主要的原因是「插值表达式」可以拼接html元素的内容,而「v-text」「v-html」只能将提供的数据渲染到html元素中,覆盖html内已有的内容信息。

示例如下:

浏览器显示:

可以看到只有「插值表达式」显示html元素内增加的字符串。「v-text」「v-html」都会将html元素内的信息进行覆盖。

所以,如果当需要写一定字符串显示,这时候就应该使用「插值表达式」了。

区别3:插值表单式和v-text都会转义,v-html则可以渲染html元素

将需要渲染的信息设置为「h1」标签,下面来看看渲染的效果,如下:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 海洋的渔夫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 基本使用方式
    • 区别1:插值表达式存在网络延迟问题,而v-text 、v-html不存在该问题。
      • 区别2:插值表达式可以增加其他字符串内容,v-text、v-html只能根据data设置的内容渲染元素。
        • 区别3:插值表单式和v-text都会转义,v-html则可以渲染html元素
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档