(二)Vue的模板语法

ok,今天来说说Vue的一些模板语法吧!

首先是Vue中的指令:
上回中我们学到了插值表达式{{xxx}},但是插值表达式有一个问题就是闪动问题,那什么是闪动问题呢?
闪动问题就是在页面渲染的时候,先显示了原本的插值表达式,然后才替换成了我们想要的数据。

  1. 消除闪动问题我们就可以使用指令:v-cloak,原理就是首先使用样式进行隐藏,在内存中进行替换,最终将替换结果显示出来。
  2. 数据绑定指令:(数据绑定就是数据填充到标签中)
  3. v-text(无闪动问题)填充纯文本
    2)v-html 填充html片段
    3)v-pre 填充原始信息
  4. 数据响应式
    1)html5中的响应式(屏幕尺寸的变化导致的样式的变化)
    2)数据响应式(数据的变化导致页面内容的变化)
    3)v-once 只编译一次
  5. 数据双向绑定
    v-model
    说到数据双向绑定,那就要说说MVVM框架:
    MVVM实际上就是M(model)V(view)VM(view-model),就是页面和数据之间要通过一层处理来交互,也就是M和V要通过VM来交互,如下图:
    在这里插入图片描述
    用户在view处改变了数据,model里爷就更改了,同理另一个方向也是。
    下面用一段简单的程序展示一下上面所说。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>LALA</title>
    <style type="text/css">
    <!--    v-cloak样式-->
        [v-cloak]{
            display: none;
        }
    </style>
</head>
<body>
<div id="app">
<!--    解决闪动问题-->
    <div v-cloak>
        {{msg}}
    </div>
<!--    填充纯文本,不存在闪动问题-->
    <div v-text="msg">

    </div>
<!--    填充html片段,不推荐使用,有安全风险,易受到xss攻击-->
    <div v-html="msg1">

    </div>
<!--    显示原始信息-->
    <div v-pre>
        {{msg}}
    </div>
<!--    只编译一次,显示内容之后不再具有响应式功能-->
    <div v-once>
        {{info}}
    </div>
<!--    数据双向绑定-->
    <div>
        <input type="text" v-model="msg">
    </div>
</div>
<script type="text/javascript" src="js/vue.js"></script>
<script type="text/javascript">
    var vm = new Vue({
        el:'#app',
        data: {
            msg: 'hello vue',
            msg1: '<h1>html<h1>',
            info: 'nihao'
        }
    })
</script>
</body>
</html>

执行该程序后如图:
在这里插入图片描述
前两个是 v-text和v-cloak的测试就不多说了。
第三个是v-html的测试,可以看到它并不是将 <h1>html<h1>直接显示,显示的是html,可见它解析了这段html代码并显示出来了。
第四个是v-pre的测试,可见它并没有将msg的内容填充进去,而是直接显示了{{msg}}。
下面我在输入框进行修改如下:
在这里插入图片描述
可见所显示的msg的内容也发生了改变,这就是V->M的绑定。
我再在console里直接更改数据如下:
在这里插入图片描述
可见msg显示的所有信息也发生了改变,这就是M->V的绑定。
这就是v-model提供的功能,即双向数据绑定。
那v-once呢?
接下来我在console里更改info的数据如下:
在这里插入图片描述
可见没有改变,这就是v-once的功能,只编译一次,当有一些加载一次就不需要在更改的数据时,我们就可以使用v-once来显示他们,这样可以提高性能。

这里就说这几个指令,还有一些指令大家可以去Vue官网查看:Vue官网

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值