事件 | 青训营笔记

86 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第15天

最近在做项目时 发现对事件的知识有所遗忘 于是打算复习并简单记录一下💾

  • 事件就是文档或浏览器窗口中发生的一些特定的交互瞬间
  • JavaScript与HTML之间的交互是通过事件实现的
  • 对于web应用来说,有下面这些代表性的事件:点击某个元素、将鼠标移动至某个元素的上方、按下键盘上某个键,等等

事件的命名规则 

JavaScript中事件的命名都是描述性的,比较容易理解,如单击(click)、双击(dblclick)、提交(submit)、按下鼠标(mousedown)等等。

事件修饰符

  • prevent:阻止默认事件
  • stop:阻止冒泡
  • once:只触发一次
  • capture:使用事件的捕获模式
  • self:只有event.target是当前操作的元素才触发事件
  • passive:事件的默认行为立即执行,无需等待回调执行完毕 (wheel事件

<button @click="hit($event,65)">

需要事件对象时加$符

键盘事件

  • ctrl
  • shift
  • meta(win
  • alt

配合keyup:按下修饰键的同时,再按下其他键,随后释放其他键,事件才能被触发 例ctrl q

配合keydown:正常触发事件

tab要配合keydown使用

修饰符可以连续写

<input type="text" @keyup.ctrl.y="change">

按下ctrl-y才触发

计算属性

     const vm= new Vue({
        el: "#root",
        data: {
          x:'张',
          m:"哥"
        },
        computed:{
          full:{
            // 当有人读取full时,get会被调用 且返回值就是full的值
​
            //get什么时候调用 1.初次读取full时 2.所依赖的数据发生变化时 例如(x、m) 
            get(){
              console.log(this);//get会将this改为vm
              return this.x+"-"+this.m;
            },
              //set什么时候调用 当full被修改时
            set(value){
              const arr=value.split('-');
              this.x=arr[0];
              this.m=arr[1];
            }
          }
        }
      });
  • 定义:要用的属性不存在,要通过已有属性计算得来

  • 原理:底层借助了object.defineproperty方法提供的getter和setter

  • get函数什么时候执行

    1. 初次读取时会执行依次
    2. 当依赖的数据发生改变时会被再次调用
  • 优势:与methods实现相比,内部有缓存机制 可复用

  • 备注:

    1. 计算属性最终会出现在vm上 直接读取使用即可
    2. 如果计算属性要被修改,那必须写set函数去响应修改,且set中要引起计算时依赖的数据发生改变

💭💭💭

记录前端学习中的问题📜
若本文对你有帮助 欢迎点赞收藏👍📑
若有纰漏,敬请包涵,评论区欢迎指正👂