问题
环境:
mpvue 1.0.13
mpvue-template-compiler 1.0.13
mpvue-loader 1.1.3-alpha.1
先上代码
// 父组件 father
<template>
<div class=“father”>
<div>内容i</div>
<slot></slot>
</div>
</template>
// 子组件 sub
<template>
<button type="primary" @tap="handler">{{text}}</button>
</template>
<script>
export default {
props: {
text: String
},
data () {
return {
text: ''
}
},
methods: {
handler(){
do something...
}
}
}
</script>
调用:
<father><block><sub></sub></block></father>
期望的表现:
只有点击子组件button触发handler事件
观察到的表现:
父组件一旦点击,就会触发子组件的handler事件,想到用.capture,使用后父组件确实没再触发handler事件,但连子组件都触发不了 handler事件了?
解决方法:
原理官方文档已有提及 当时没太留意!!
目前解决方案是 在父组件的“所有”上级元素添加 catchtap 绑定,但感觉这样不优雅
2条答案
按热度按时间zvms9eto1#
issue超过30天无更新或响应,7天后将自动关闭,如果问题状态有更新请及时更新issue
disbfnqx2#
我好像没有看到文档在哪里提到过你这个“所有”上级元素添加 catchtap 绑定