Vue组件绑定自定义事件

Vue组件使用v-on绑定自定义事件:
  可以分为3步理解:
    1.在组件模板中按照正常事件机制绑定事件:
      template: ‘<button v-on:click="increment">{{ counter }}</button>‘,
      如上,v-on:click就是用来给子组件绑定点击事件的,这就是原生的自带的事件,容易理解。
    2.子组件的事件发生时,在事件函数中向父组件“报告”这一事件(使用$emit):
      methods: {
        increment: function () {
          this.counter += 1;
          this.$emit(‘increment‘);
        }
      },
      上面事件函数中的代码this.$emit(‘increment‘)的意思就是向父组件报告,自己发生了‘increment’事件。至于发生的事件叫什么名字,可以随意取名,只要在父组件中绑定时名称一致即可。
    3.父组件在使用时,明确使用v-on绑定子组件传来的事件:
      <button-counter v-on:increment="incrementTotal"></button-counter>
      上方的v-on:increment就是绑定的子组件的increment事件。
      常用语父组件中的数据变化与子组件的操作有关的情况。

时间: 2024-08-26 05:47:47

Vue组件绑定自定义事件的相关文章

【vue】vue组件的自定义事件

父组件: <template> <div> <my-child abcClick="sayHello"></my-child> </div> </template> <script> export default { method: { sayHello(Num,Str) { alert('hello world~~' + Num + Str) } } } </script> 子组件: &l

给组件绑定原生事件

子组件自定义触发事件 以及节点上添加的事件 子组件 将自定义事件添加修饰直接变成原生事件,进行监听 原文地址:https://www.cnblogs.com/lyplucky/p/10336233.html

Vue的双向绑定以及组件的自定义事件

什么是双向绑定 所谓的双向绑定是指数据发生变化时,视图会同步发生变化,而当视图发生变化时,数据也会同步变化. Vue中怎么实现双向绑定 在Vue中,我们通过v-model来创建双向绑定. 我们继续用todolist和todoitme组件来示例双向绑定 在App.vue的data中增加一个message. data(){ return{ message:"hello world", list: [ { title: "新课程1", del: false }, { ti

vue2.0中v-on绑定自定义事件的理解

vue中父组件通过prop传递数据给子组件,而想要将子组件的数据传递给父组件,则可以通过自定义事件的绑定. 每个Vue实例都实现了[事件接口],即: 1.使用 $on(eventName) 监听事件 2.使用 $emit(eventName) 触发事件 父组件可以在使用子组件的地方直接用 v-on 来监听子组件触发的事件. html代码: 1 <div id="counter-event-example"> 2 <p>{{ total }}</p>

4-4 给组件绑定原生事件

原来的方法: 监听这个child的原生事件,需要两层的传递: 新方法: 在组件child上面做事件的监听,监听的并不是自定义事件,而是一个原生的点击事件 只需要在组件的事件后面加一个native修饰符即可 //显示效果如下: //这种新方法,更加简单的直接调用了组件的事件绑定方法.不用去创建一个自定义事件来调用了. 原文地址:https://www.cnblogs.com/ytraister/p/10618222.html

Vue 样式绑定、事件绑定

v-bind:class=" "    绑定样式 <div id="app"> <!-- 值是对象形式,字段名是class样式名,值是boolean值,true是引用该样式,false不引用 --> <!-- 值是false,只是不引用该样式,并不是就不显示该元素了 --> <p v-bind:class="{red:true}">p1</p> <!-- 可使用其它的值,会自动转换

Android--自定义组件的自定义事件

Mybotton.java /*定义接口*/ public interface MyClick{ public void onMyClick(String str); } /*初始化接口变量*/ MyClick MyClick=null; /*自定义事件*/ public void setOnMyClickListener(MyClick MyClick){ this.MyClick= MyClick; } MainActivity.java XXX.setOnMyClickListener(n

vue组件中click事件失效

最近使用vue学习开发移动端的项目,使用了bette-scroll插件做滚动.在引入better-scroll的组件中使用@click事件的时候,点击事件失效,v-on:click.v-bind:click.@click.native都不行,试了一下@touchstart是却是可以的,发现better-scroll的配置中没有设置click:true,设置过之后click事件成功. 后来在使用vuex的时候一直报"[vuex] unknown mutation type: changeCity&

vue自定义事件 子组件把数据传出去

每个 Vue 实例都实现了事件接口(Events interface),即: 使用 $on(eventName) 监听事件 使用 $emit(eventName) 触发事件 1.使用v-on绑定自定义事件 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title></title> 6 <s