vue点击事件@click.stop,阻止冒泡.native

大家都知道,vue中点击事件直接在元素中使用@click="click"即可,但是有时在一个元素中包含了子元素,而且父元素和子元素都有点击事件,此时我们希望的点击效果就是:点击子元素区域的的时候,不触发父级元素的点击事件,此时就要用到@click.stop="subclick"。

@click.stop与@click.prevent

@click.stop 阻止事件冒泡

@click.prevent 阻止事件的默认行为,

1

2

3

4

<ahref="http://www.baidu.com"@click.prevent="test4">百度一下</a> //阻止a标签跳转,仅执行函数test4

<formaction="/xxx"@submit.prevent="test5"> //阻止表单提交,仅执行函数test5

<inputtype="submit"value="注册">

</form>

vue @click.native 原生点击事件:

1,给vue组件绑定事件时候,必须加上native ,不然不会生效(监听根元素的原生事件,使用 .native 修饰符)

2,等同于在自组件中:

子组件内部处理click事件然后向外发送click事件:$emit("click".fn)