为什么直接绑定在 Vue 自定义组件标签上的事件无法触发

2017-02-07 17:06:52 +08:00
 matts8023

如题,我在自定义组件标签上绑定了事件,点击时却无法触发,代码如下:


<template id="test">
  <p>Hi</p>
</template>

<div id="app">
  <test @click="hello"></test>
</div>


Vue.component('test', {
  template: "#test"
})

new Vue({
  el: '#app',
  data: {},
  methods: {
    hello: function() {
      alert();
    }
  }
})

然鹅,我把 @click 放到父级标签上却又可以触发了,这是为啥?


<div id="app" @click="hello">
  <test></test>
</div>

12997 次点击
所在节点    前端开发
5 条回复
zhuangtongfa
2017-02-07 17:11:18 +08:00
@click.native  试试
matts8023
2017-02-07 17:13:17 +08:00
@zhuangtongfa 嗯,刚刚在 Vue 官方库的 issue 中找到,可以用,谢谢 O(∩_∩)O
kqz901002
2017-02-07 17:21:05 +08:00
@matts8023 icon
matts8023
2017-02-07 18:23:39 +08:00
@kqz901002 哈哈哈哈哈
yunkou
2017-02-07 20:36:52 +08:00
官方文档有说明哦

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/338798

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX