Vuejs基础版III

简介: Vuejs基础版III

九、事件处理

1、v-on基础

  • 作用:绑定事件监听器
  • 缩写:@
  • 预期:Function | Inline Statement | Object
  • 参数:event
    在这里插入图片描述

    2、v-on参数

  • 情况一:如果该方法不需要额外参数,那么方法后的 () 可以不添加
    • 但是注意:如果方法本身中有一个参数,那么方法后的()可以不添加
  • 情况二:如果需要同时传入某个参数,同时需要even时,可以通过 $even 传入事件
    在这里插入图片描述

    3、事件修饰符

  • 在某些情况下,我们拿到event的目的可能是进行一些事件处理
  • Vue提供了修饰符来帮助我们方便的处理一些事件:
    • .stop 阻止默认事件【常用】,调用event.stopPropagation(),修饰于内块
    • .prevent ,阻止默认事件【常用】,等同于调用event.preventDefault()
    • .{keyCode | keyAlias} 只当事件是从特定键触发时才会触发回调
    • .native 监听组件根元素的原生事件
    • .once 只触发一次【常用】
    • .capture,使用事件的捕获模式,实现先捕获后冒泡,捕获的元素先执行
    • .self,只有 event.target 是当前操作的元素时才触发事件
    • .passive,事件的默认行为立即执行,无需等待事件回调执行完毕【一般使用在移动端开发中】
      在这里插入图片描述

      4、键盘事件

      键盘上每个键都有自己的名字和编码
      在这里插入图片描述
  1. @keyup.键盘别名:键盘触发事件
  2. @keydown.tab:Tab键按下触发
    在这里插入图片描述
  3. 键盘的同时按下才触发
    在这里插入图片描述

十、条件判断

1、v-if、v-else-if、v-else

Vue的条件指令可以根据表达式的值在DOM中渲染或销毁元素或组件

1.1、简单的案例演示

在这里插入图片描述
在这里插入图片描述

1.2、v-if的原理

  • v-if 后面的条件为 false 时,对应的元素以及其子元素不会渲染
  • 也就是根本没有不会有对应的标签出现在DOM中

    2、条件渲染案例

    2.1、用户在登录时,可以切换用户的账号登录还是邮箱地址登录

    在这里插入图片描述

    2.2、案例中存在的问题

  • 问题:在有输入内容的情况下,切换了类型,我们会发现文字依然显示之前输入的内容
  • 原因:因为 Vue 在进行 DOM 渲染时,处于性能考虑,会尽可能的复用已经存在的元素,而不是重新创建新的元素
  • 解决:为了解决出现类似重复利用的问题,可以给对应的 input 添加 key ,并且我们需要保证 key 的不同
    在这里插入图片描述

    3、v-show 与 v-if,均是决定一个元素是否渲染

  • v-if :根据表达值的真假,切换元素的显示和隐藏(操纵dom元素),当条件为 false 时,包含 v-if 指令的元素,根本就不会在DOM中

  • v-show :当条件为 false 时,v-show 只是给我们的元素添加了一个行内样式:display : none

开发中我们如何选择呢?

  • 当需要在显示与隐藏之间切换很频繁时,使用 v-show
  • 当只有一次切换时,通过使用 v-if
  • template只能配合v-if使用,template在页面渲染的时候会自动消失,而现实template内的内容

    十一、循环遍历

    1、v-for遍历数组

  • 使用场景:当我们有一组数据需要进行渲染时
  • 格式:v-for = "(item,index) in items" :key="index" 其中 的index代表在原数组的索引值
    在这里插入图片描述

2、v-for遍历对象

  • 1、在遍历对象的过程中,如果只是获取一个值,那么获取到的是value
  • 2、获取key和value方式:v-for="(value,key) in info
  • 3、获取key、value和index:v-for="(value,key,index) in info
    在这里插入图片描述
    在这里插入图片描述

3、key 作用与原理[面试集锦]

案例:index作为key,新增数据在旧数据之前添加,.unshift()逆序添加【顺序添加两者绑定无区别】

3.1、index作为key[不绑定key值时,一般Vue默认index作为key]

3.2、id 作为key[效率高]

在这里插入图片描述

3.3、总结

react、Vue 中的 key 有什么作用(key的内部原理)
在这里插入图片描述

4、数组中哪些方法是响应式的——监测数组更新

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

阶段案例

案例一:点击列表中的哪一项,那么该项文字变为红色
案例二:图书购物车
在这里插入图片描述

十二、JavaScript高阶函数的使用

1、过滤器 filter 函数

注意:filter 中的回调函数有一个要求:必须返回一个 boolean 值

  • 返回值为 true 时,函数内部会自动将这次回调的 n 加入到新的数组中
  • 当返回 false 时,函数内部会过滤掉这次的 n
    在这里插入图片描述

    2、map 函数的使用

    使用情况:对数组中的所有元素都进行变化时
    在这里插入图片描述

    3、reduce函数

    作用: 对数组中所有的内容进行汇总
    var num = [1,2,3,4,5];
    var res = num.reduce(function(total,num){
         
         
      return total+num;
      //return total + Math.round(num);//对数组元素四舍五入并计算总和
    },0);
    console.log(res)//15
    //num.reduce((total,num) => total += num, 0);
    //没有初始值initialValue(即上面例子中的0),当数组为0时会抛出异常提示reduce函数没有初始值,所以为兼容性一般加上initialValue
    

    4、案例:对nums数组中的小于100的每一项乘以二并取和【使用高阶函数实现 】

    在这里插入图片描述
    箭头函数写法:
    在这里插入图片描述

点击跳转:下一篇:Vuejs进阶版

在这里插入图片描述

相关文章
|
4月前
|
缓存 JavaScript
Vuejs基础版II
Vuejs基础版II
|
6月前
|
JavaScript 前端开发
vuejs及相关工具介绍
vuejs及相关工具介绍
26 0
|
4月前
|
JavaScript 前端开发 测试技术
Vuejs基础版V
Vuejs基础版V
|
4月前
|
存储 JavaScript 前端开发
Vuejs基础版I
Vuejs基础版I
|
4月前
|
存储 缓存 JavaScript
Vuejs补充版
Vuejs补充版
129 0
|
前端开发 JavaScript API
vuejs基础系列五-vue-router的使用
一个web应用路由定义的是否合理是判断这个应用是否合格的基础条件之一,在spa开发模式之前,前端开发基本不用考虑路由的定义这块基本都是后台在完成,但随着spa的推广前后端分离的大趋势下,前端路由定义的任务便落在的我们前端开发者身上。本节我们就来聊聊vue中vue-router的路由定义与配置。
|
缓存 JavaScript 前端开发
前端基础知识库vuejs系列一vue基础
使用vuejs框架已有两年了,期间大大小小也完成了八九个项目,有新项目开发的,也有老项目重构的。最近下定决心重写这部分文章也是为了给自己理清vuejs的整体架构,同时也希望给新接触vue的朋友一点点帮助。
|
编解码 JavaScript 数据可视化
2021年最佳VUE3 UI框架推荐
Vue3已经发布一段时间了,版本趋于稳定并且可以用于生产。虽然很多开发人员对这个版本褒奖不一,新版本由于算是重新构建生态系统,相关资源的缺乏。与Vue2丰富的UI框架相比,Vue3就显得有点少,也算是影响开发人员使用Vue3的原因之一。
1328 0
2021年最佳VUE3 UI框架推荐
|
存储 缓存 JavaScript
Vuejs提高篇(二)
Vuejs提高篇(二)
Vuejs提高篇(二)
|
JavaScript 前端开发
Vuejs提高篇(一)
Vuejs提高篇(一)
Vuejs提高篇(一)

相关实验场景

更多