Vue之渲染数据

本文介绍了Vue中遇到的插值闪烁问题及其解决方法,包括使用v-text和v-html指令。v-text用于纯文本渲染,避免闪烁,而v-html不仅能渲染文本,还能处理HTML标签,有效解决网络延迟导致的闪烁现象。
摘要由CSDN通过智能技术生成

一、插值表达式

<!--    创建容器-->
<div id="container">
<!--    插值表达式 {{属性}}-->
    <h1>{{name}}</h1>
</div>

注意:插值表达式,在渲染数据的时候,会出现插值闪烁

什么是插值闪烁?

当数据不是定死的,而是通过某种方式获取到的,那么当网络延迟的时候,页面会显示插值表达式的语法,等网络加载完毕时,数据才会渲染到页面上

<script>
    //当使用Vue的插值表达式渲染的时候,会出现插值闪烁
    /**
     * 什么的插值闪烁
     * 当数据不是定死的,而是通过某种方式获取到的,
     * 那么当网络延迟的时候,页面会显示插值表达式的语法,
     * 等网络加载完毕时,数据才会渲染到页面上
     * 
     * 这里我用延迟函数,来模拟网络延迟
     */
    setInterval(() =>{
        // 1、创建Vue对象
        new Vue({
            //el 为创建容器的类名
            el:"#container",
            data:{
                name:"今天学习了Vue渲染数据",
                a:'<a href="http://huya.com">虎牙</a>'
            }
        });
    },2000)

</script>

二、v-text

v-text:是一个指令,可以把数据渲染到页面上,但是只能渲染纯文本的数据,可以解决插值闪烁的问题

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue入门程序</title>
</head>
<body>
<!--引入vue.js-->
<script src="../../public/js/vue.min.js"></script>

<!--    创建容器-->
<div id="container">
<!--    v-text-->
    <h2 v-text="name"></h2>
</div>
</body>
</html>
<script>
    /**
     * 正是因为有插值闪烁,所以在渲染数据的时候,我们都会使用v-text和v-html
     * v-text是只能渲染纯文本,不能渲染标签
     */
    setInterval(() =>{
        // 1、创建Vue对象
        new Vue({
            //el 为创建容器的类名
            el:"#container",
            data:{
                name:"今天学习了Vue渲染数据",
                a:'<a href="http://huya.com">虎牙</a>'
            }
        });
    },2000)

</script>

三、v-html

v-html:是一个指令,可以把数据渲染到页面上,不仅可以渲染纯文本的数据,还可以渲染标签,可以解决插值闪烁的问题。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue入门程序</title>
</head>
<body>
<!--引入vue.js-->
<script src="../../public/js/vue.min.js"></script>

<!--    创建容器-->
<div id="container">
<!--    v-html-->
    <h2 v-html="a"></h2>
</div>
</body>
</html>
<script>
    /**
     * 正是因为有插值闪烁,所以在渲染数据的时候,我们都会使用v-text和v-html
     * v-text是只能渲染纯文本,不能渲染标签
     * v-html可以渲染文本,也可以渲染标签
     */
    setInterval(() =>{
        // 1、创建Vue对象
        new Vue({
            //el 为创建容器的类名
            el:"#container",
            data:{
                name:"今天学习了Vue渲染数据",
                a:'<a href="http://huya.com">虎牙</a>'
            }
        });
    },2000)

</script>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值