前端应用_Vue_Vue常见的指令v-cloak v-text v-html 优缺点以及使用场景分析

所有的Vue指令有个共同的特点就是 开头是v-, 有了指令能实现适合我们的场景, 下边我们看下这几个指令吧

以下边的实例讲解:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js">   //导入vue

    </script>

</head>
<body>
<p id="pp">{{message}}</p>
<div>
    <script>
        var vue=new  Vue(
            {
                el:'#pp',
                data:{
                    message: 'Hello,Vue'
                }
            }
        )

    </script>

</div>
</body>
</html>

v-cloak

标签是先加载的, 由于vue 加载延迟一点,就会导致一个问题, 当网速很慢的时候,就会先显示p标签的内容({{message}})
等加载Vue好了, 就会显示 message里的内容. 问题来了,如何解决呢,就是用v-cloak 指令 ,然后调用样式 直接删除.

实例代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        [v-cloak]{
            display: none;   //样式属性
        }
    </style>
    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js">
    </script>
</head>
<body>
<p id="pp" v-cloak>{{message}}</p>
<div>
    <script>
        var vue=new  Vue(
            {
                el:'#pp',
                data:{
                    message: 'Hello,Vue'
                }
            }
        )
    </script>

</div>
</body>
</html>

优点:

  1. 可以在插值里面随便写,你也可以这么写

    {{message}}

    都能显示出来
  2. 用这个可以解决 插值闪烁问题,({{message}})

缺点: 需要写v-cloak css 属性才能解决闪烁问题.

v-text

我们重新写下实例代码 p标签:

<p id="pp" v-text="message">-\========gthgh===</p>

但是页面显示为:

Hello,Vue

说明 v-text 我只是吧 v-text后边的值显示出来, 你中间插入什么 我都不管.

优点:

  1. 直接解决插值闪烁的问题, 由于插值根本不显示, 所以根本就没有闪烁的问题
  2. 只适合显示场景.
    缺点:
    如果想在标签里插入值是做不到的。

v-html

我把data 稍微改下 :

 var vue=new  Vue(
            {
                el:'#pp',
                data:{
                    message: 'Hello,Vue',
                    message2:'<h1>我是一个超大的head,请避让下</h1>'
                }
            }
        )

我的初衷是 把h1的样式也解析出来,把那句话变成h1样式,

直接用看可以吗?

{{message2}}

但是显示的结果为:

我是一个超大的head,请避让下

这就犯难了, 我如何才能 识别我的html标签呢, 强大的vue 不会为这个难倒的。 直接用

v-html指令 完美的解决 ,修改如下 :

直接看效果图 :

在这里插入图片描述

优点:

能插入 带有html 标签的 message ,

缺点: 和v-text一样,都会清空 标签内的值,然后插入自己的message

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值