美文网首页Vue3.X基础入门
第四讲、Vue3.x中的事件方法详解、事件监听、方法传值、事件对

第四讲、Vue3.x中的事件方法详解、事件监听、方法传值、事件对

作者: 我爱张智容 | 来源:发表于2021-01-05 10:32 被阅读0次

一、Vue3.x监听事件
vue中监听事件可以使用v-on:click或者 @click ,@click 为v-on:click的简写,例如:

data() {
    return {
      counter: 1
    }
  }

template模板:

div id="basic-event">
  <button @click="counter += 1">Add 1</button>
  <p>The button above has been clicked {{ counter }} times.</p>
</div>

二、Vue3.x定义方法 执行方法 获取数据 改变数据
业务逻辑:

export default {
    data() {
        return {
            num: 1,
            msg: "你好vue",
        };
    },
    methods: {
        setMsg() {
            this.msg = "我是方法里改变后的msg";
        },
        getMsg() {
            alert(this.msg);
        },
    },
};

template模板:

<template>
<div>
    <h2>{{ msg }}</h2>

    <button @click="setMsg()">设置msg</button>
    <br />
    <br>
    <button @click="getMsg()">获取msg</button>

    <br>
    <br>
    <h2>Num:{{num}}</h2>

    <button @click="num += 1">Add 1</button>
</div>
</template>

三、Vue3.x方法传值、方法的相互调用
业务逻辑:

export default {
    data() {
        return {
            msg: "你好vue",
        };
    },
    methods: {
        setMsg(msg) {
            this.msg = msg;
        },
        run() {
            this.getMsg()
        },
        getMsg() {
            alert(this.msg);
        }
    },
};

template模板:

<template>
<div>
    {{msg}}
    <br>
    <br>

    <button @click="setMsg('这只执行方法传值改变msg')">执行方法传值</button>

    <br>
    <br>
    <button @click="run()">执行run方法</button>
</div>
</template>

四、事件对象
有时我们还需要在内联语句处理程序中访问原始DOM事件。您可以使用特殊$event变量将其传递给方法

一、单个参数
业务逻辑:

export default {
    data() {
        return {
            msg: "你好vue",
        };
    },
    methods: {
       eventFn(e){
          console.log(e);

          // e.srcElement  dom节点

          e.srcElement.style.background='red';
          console.log(e.srcElement.dataset.aid);  /*获取自定义属性的值*/
        }
    },
};

template模板:

<button data-aid='123' @click="eventFn($event)">事件对象</button>

二、多个参数

<button @click="warn('Form cannot be submitted yet.', $event)">
  Submit
</button>
methods: {
  warn(message, event) {
    // now we have access to the native event
    if (event) {
      event.preventDefault()
    }
    alert(message)
  }
}

五、Vue3.x 多事件处理程序
您可以在事件处理程序中使用逗号分隔多个事件处理程序,如下所示:

业务逻辑:

methods: {
  one(event) {
    // first handler logic...
  },
  two(event) {
    // second handler logic...
  }
}

template模板:

<button @click="one($event), two($event)">
  Submit
</button>

六、事件修饰符
vue中阻止冒泡 阻止默认行为,可以通过事件对象event.preventDefault()或event.stopPropagation()实现,还可以通过事件修饰符实现。

vue中给我们提供了很多的修饰符:

.stop
.prevent
.capture
.self
.once
.passiv
stopPropagation:

<a @click.stop="doThis"></a>
preventDefault:

<a @click.prevent="doThat"></a>
stopPropagation And preventDefault

<a @click.stop.prevent="doThat"></a>

七、按键修饰符
监听键盘事件时,我们通常需要检查特定的键。Vue允许在监听关键事件时v-on或@在监听关键事件时添加按键修饰符:

<input @keyup.enter="submit" />
Vue为最常用的键提供别名:

.enter
.tab
.delete (同时捕获“删除”和“退格”键)
.esc
.space
.up
.down
.left
.right

相关文章

  • 第四讲、Vue3.x中的事件方法详解、事件监听、方法传值、事件对

    一、Vue3.x监听事件vue中监听事件可以使用v-on:click或者 @click ,@click 为v-on...

  • vue组件间的传值

    一、平级组件传值 触发方: 方法一,通过方法传值 定义事件,将下列动作添加到事件的方法中,id为传入的参数 方法二...

  • DOM 高级事件

    一、注册事件 给元素添加事件,称为注册事件或者绑定事件。 注册事件有两种方式:传统方式和方法监听注册方式。 1、传...

  • vue 事件处理

    事件绑定的写法: 方法的传值

  • Web笔记-Listener

    事件源、事件、监听器 事件源:发生事件的对象 事件:事件封装了事件源,方便监听器的某个方法获取到事件源对象 监听器...

  • vue其他知识点简单记录

    路由: 过渡动画 组件 数据绑定 事件 方法:事件可以调用方法 子父组件传值 插槽 动态组件

  • React Native 传值方式

    界面与界面之间的传值 事件监听(通知) 事件回调(类与类之间的传值) 通过navigation带过去的参数实现事件...

  • Effective C#笔记 - 用null条件运算符调用事件处

    使用事件的常用步骤: 定义事件参数; 事件源类型中声明事件; 注册处理事件的方法,即监听; 再需要是,触发事件。 ...

  • vue3 Event 事件处理

    1、监听事件 我们可以使用指令v-on 或简写方式@来监听js事件触发。 2、事件监听方法 仅用方法名称可以返回e...

  • JavaScript HTML DOM EventListene

    监听事件 浏览器会根据某些操作触发对应事件,如果我们需要针对某种事件进行处理,则需要监听这个事件。监听事件的方法主...

网友评论

    本文标题:第四讲、Vue3.x中的事件方法详解、事件监听、方法传值、事件对

    本文链接:https://www.haomeiwen.com/subject/ldgvoktx.html