美文网首页
Vue之emit

Vue之emit

作者: 西元前__YP | 来源:发表于2017-10-07 11:22 被阅读0次

最近在阅读Vue官方文档,准备上手Vue,在读到组件这一节的时候,对绑定自定义事件的代码有一些疑惑,直接上代码

<div id="counter-event-example">
  <p>{{ total }}</p>
  <button-counter v-on:increment="incrementTotal"></button-counter>
  <button-counter v-on:increment="incrementTotal"></button-counter>
</div>

这里注意到 v-on:increment,因为之前读文档的时候只见过 v-on:click/submit 等,所以对冒号后面的 increment 感到陌生不知道它的作用。
在这里我推荐所有和我一样的新手,如果反复地阅读之后还是存在困惑,那就直接把代码撸到ide上自己实践,修修改改一番或许就会产生许多感触。

Vue.component('button-counter', {
  template: '<button v-on:click="incrementCounter">{{ counter }}</button>',
  data: function () {
    return {
      counter: 0
    }
  },
  methods: {
    incrementCounter: function () {
      this.counter += 1
      this.$emit('increment')
    }
  },
})
new Vue({
  el: '#counter-event-example',
  data: {
    total: 0
  },
  methods: {
    incrementTotal: function () {
      this.total += 1
    }
  }
})

通过自己的实践,发现这段代码的意思就是,首先在子组件中点击触发 incrementCounter 方法,然后在 incrementCounter 方法中,通过 this.$emit("increment") 来触发父组件中的 increment 同时父组件中 increment = incrementTotal 将‘increment’ 和 incrementTotal 方法绑定,所以即触发 incrementTotal 方法
(我是这样理解 如果有不对 还请大家指正 感谢❤️

相关文章

  • Vue之emit

    最近在阅读Vue官方文档,准备上手Vue,在读到组件这一节的时候,对绑定自定义事件的代码有一些疑惑,直接上代码 这...

  • 面试题【Day14】

    本篇绪论 1,vue处理边界之emit、root、children的使用 2,vue父子通信 3,js中的 ......

  • VUE $on/$emit实现

    这个文章介绍如何实现 vue的$on $emit $once $off 。 不懂$on $emit $once $...

  • vue组件之emit

    关键词:emit 我们知道,父组件是使用 props 传递数据给子组件,但如果子组件要把数据传递回去,应该怎样做?...

  • 2019-04-24

    html HTML 标签 css flex vue vm.$emit用法 $emit 绑定一...

  • Vue组件通信方式2 - 自定义事件

    父组件 App.vue 子组件 components/Emit.vue

  • 父子组件传值

    1.vue的$emit()的用法:

  • 抛出自定义事件

    vue3使用emit分发事件,类似于$emit,从setup的第二个参数中解构出emit

  • Vue中事件发射emit以及事件响应on的实现

    事件机制是Vue中重要的通信机制,这里看下源码简单说明下Vue事件emit和on的实现: $on和$emit函数的...

  • 面试题【Day13】

    本篇绪论 1,undefined、null 2,深度(穿透)选择器 3, 解构赋值 4,vue之$emit用法 1...

网友评论

      本文标题:Vue之emit

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