Vue的官方指令

2023-05-16

Vue的官方指令

  • 插值表达式({{}})

  • 内容指令(v-text和v-html)

      相同点:都是可以让html标签里的内容变成动态的
      不同点:v-text和{{}}相当于innerText不会解析html代码,原样输出。
     v-html等价于innerHTML:会解析html代码
    
  • 对比v-text和插值({{}})表达式

    1)、当网络速度慢的时候,插值表达式会在页面上出现 {{}} 的显示,但是指令v-text不会,因为,v-text是自定义属性,最多不做解读。当,标签中的内容全部来自于属性,那么,可以使用v-text。
    2)、插值表达式更加灵活,可以在标签里面的某个地方显示,但是v-text会让整个标签的内容全部变化。
    
  • 属性指令(v-bind可简写为:)

    功能:可以让html标签里的属性(名和值)变成动态的(从data中获取)
    

在这里插入图片描述

> 数据可以是表达式 
> 注意:在dom里面插入数据,除了可以写原始的数据,还可以使用javascript表达式,不能使用语句,条件语句可以使用三元表达式代替

在这里插入图片描述

  • 条件渲染指令(v-if 和 v-show)

    功能:一段dom可以根据条件进行渲染
    
  • 面试题: v-if和 v-show的区别?

      相同点: 	
         v-show和 v-if都是 控制 dom元素 的 显示和隐藏 的。
      不同点: 	
          1、原理:v-show是通过控制元素的样式属性display的值,来完成显示和隐藏; ​	 v-if是通过对dom元素的添加和删除,完成显示和隐藏
          2、使用场景:由原理(做法)得出使用场景的区别
               v-show:使用在dom元素频繁切换的场景 ​	 
               v-if:当dom元素的切换不频繁,可以使用。特别是,首次元素处于隐藏的情况下。
    

例1、v-if
在这里插入图片描述

例2、v-show
在这里插入图片描述

  • 列表渲染循环指令(v-for)

      功能:把数据进行循环显示在html里(渲染)。推荐操作的数据类型:数组、对象、字符串、数字
      注意
         1、空数组,null,undefined不循环
         2、也可以进行循环嵌套
         3、v-for和v-if使用在同一个标签里时,v-for 的优先级比 v-if 更高,即:v-for套着v-if,先循环再判断
    

循环的几种情况
在这里插入图片描述

循环json
在这里插入图片描述

  • 列表渲染时的key

    在标签里使用属性key,可以唯一标识一个元素。
         1、当 Vue.js 用 v-for 更新已渲染过的元素列表时,它默认用“就地复用”策略。就地复用:尽量不进行dom元素的操作,只替换文本。
         2、如果你希望进行dom操作,就用key,因为key的目的是为了唯一标识一个元素。有了key后,可以跟踪每个节点的身份,从而重用和重新排序现有元素 ​ 建议尽可能在使用 v-for 时提供 key(attribute自定义属性),除非遍历输出的 DOM 内容非常简单,或者是刻意依赖默认行为(就地复用)以获取性能上的提升。
         注意:key不要使用(数组)下标
    

在这里插入图片描述

  • 事件绑定指令(v-on可简写为@)

        事件和处理函数进行绑定
        功能:绑定事件,vue通过v-on指令把事件和处理函数进行绑定。
        事件处理函数需要放在methods选项当中去,事件名不带on,函数可以按照ES5的写法,也可以按照ES6的写法。
    

在这里插入图片描述
获取事件对象event
不传参,默认第一个参数,就是事件对象
在这里插入图片描述

传参,事件对象需要手动传入(使用vue框架官方提供的 $event)
在这里插入图片描述

事件处理函数的this
1、methods选项里的函数里的this都是vue对象本身,所以,事件处理函数里的this也是vue对象本身
2、vue提供的选项的值如果是函数时,不可用箭头函数 , 会造成this丢失
事件修饰符
在这里插入图片描述

注:使用修饰符时,顺序很重要;相应的代码会以同样的顺序产生。因此,用 v-on:click.stop.self 会阻止所有的点击,而 v-on:click.self.stop 阻止自身的点击,stop就不起作用了
按键修饰符
在这里插入图片描述

  • 双向绑定指令(v-model)

    功能:视图控制数据,数据也可控制视图,这就是双向绑定,可通过属性+事件来实现双向绑定。而vue中直接提供了一个指令v-model直接完成(v-model 本质上不过是语法糖)。v-model指令只能使用在表单元素上。
    

通过属性+事件(input事件)来实现双向绑定
在这里插入图片描述

双向绑定(文本框text)
在这里插入图片描述

双向绑定(单个复选框checkbox)
在这里插入图片描述

双向绑定(多个复选框checkbox)
在这里插入图片描述

双向绑定(单选框radio)
在这里插入图片描述

双向绑定(下拉框select)
在这里插入图片描述

双向绑定(值是动态的)
在这里插入图片描述

双向绑定(单个复选框值是自定义的)
在这里插入图片描述

表单修饰符在这里插入图片描述
防闪烁(v-cloak只写指令)

防闪烁,模板没编译完,电脑配置差,有可能会看到{{}},体验不佳,不如用css先隐藏,之后再显示,包括被包裹的子元素。这个指令保持在元素上直到关联实例结束编译。和CSS 规则,如 [v-cloak] { display: none } 一起用时,这个指令可以隐藏未编译的 Mustache
标签直到实例准备完毕。

只渲染一次(v-once只写指令)

只渲染元素和组件一次。随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过。这可以用于优化更新性能。

加快编译(v-pre只写指令)

跳过这个元素和它的子元素的编译过程。可以用来显示原始 Mustache
标签。跳过大量没有指令的节点会加快编译。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue的官方指令 的相关文章

随机推荐