Vue框架——指令

什么是指令

  • 在了解指令之前,我们先了解什么是自定义属性?

    html5中,我们可以通过data-开头来设置我们需要的自定义属性(比如data-index

  • 指令的本质就是自定义属性

  • 指令的格式:以v- 开头(比如:v-cloak

v-cloak指令的用法

  • 作用

    保持在元素上直到关联实例结束编译,可以用于解决插值表达式存在的“闪动”问题。

  • 原理

    先隐藏标签,替换好值之后再显示最终的值

  • 用法

    • css文件

      [v-cloak] {
      	display: none;
      }
      
    • html文件

      <div v-cloak>
      	{{ message }}
      </div>
      

数据绑定指令

v-text指令——填充纯文本

相比插值表达式更加简洁,没有“闪动”的问题。

  • 用法

    • html文件

      <div id="app">
              <div v-text='message'></div>
      </div>
      
    • JavaScript文件

      var vm = new Vue({
          el: '#app', 
          data: {
              message: 'Hello Vue',
          }
      });
      

v-html指令——填充HTML片段

  • 缺陷
    ①存在安全问题
    ​ 在网站上动态渲染任意 HTML 是非常危险的,因为容易导致 XSS攻击。只在可信内容上使用 v-html永不用在用户提交的内容上。

    ②通过Ajax访问本网站的数据可以使用,来自第三方数据不可以使用。

  • 用法

    • html文件

      <div id="app">
      	<div v-html='html'></div>
      </div>
      
    • JavaScript文件

      var vm = new Vue({
          el: '#app', 
          data: {
              html: '<h3>HTML</h3>',
          }
      });
      

v-pre指令——填充原始信息

显示原始信息,跳过编译过程

  • 用法

    <div v-pre>{{ localInfo }}</div>
    

v-once指令——只编译一次

显示内容之后不再具有响应式功能

  • 如何理解响应式

    ① html5中的响应式(屏幕尺寸的变化导致样式的变化)

    ② 数据的响应式(数据的变化导致页面内容的变化)

  • 什么是数据绑定

    将数据填充到标签中

  • 用法

    • html文件

      <div id="app">
          <div v-once>{{info}}</div>
      </div>
      
    • JavaScript文件

      var vm = new Vue({
          el: '#app', 
          data: {
              info: 'once',
          }
      });
      

      info属性值后续改变时,标签里的内容不会跟着改变

  • 应用场景

    如果显示的信息后续不需要修改,则可以使用v-once,这样可以提高性能

双向数据绑定

  • 什么是双向数据绑定

    假定有一个input标签绑定data里的属性info,当标签的值改变时,info的值也会随之改变,当info的值改变时,input标签的值也会改变。

  • 用法

    使用v-model指令

    • html文件

      <div id="app">
          <div>{{info}}</div>
          <input type="text" v-model='info'>
      </div>
      
    • JavaScript文件

      var vm = new Vue({
          el: '#app', 
          data: {
              info: 'model',
          }
      });
      
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员陈_明勇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值