代码之家  ›  专栏  ›  技术社区  ›  xon52

VueJS气泡组件事件

  •  0
  • xon52  · 技术社区  · 6 年前

    我正在尝试创建一个vue组件(自定义画布元素的),但发现该组件的常规事件对父级似乎没有气泡。有什么明显的我做错了吗?

    我真的不想从组件中发出所有可能的HTML事件,如果我能避免的话。如果不清楚的话:我说的不是定制事件-只是在移动等等。

    蒂亚

    <div id="app">
      <xon-canvas @mousemove="handleMove"></xon-canvas>
    </div>
    

    Vue.component('XonCanvas', {
      template: '<canvas width="500" height="500"></canvas>'
      })
    
    new Vue({
      el: '#app',
      methods: {
        handleMove (event) { console.log("I worked!") }
      }
    });
    

    CodePe Code

    1 回复  |  直到 6 年前
        1
  •  3
  •   ittus    6 年前

    一个快速解决方案是添加v-on=“$listeners”

    Vue.component('XonCanvas', {
      template: '<canvas v-on="$listeners" width="500" height="500"></canvas>'
      }
    )
    

    https://codepen.io/ittus/pen/mKWyxZ