uniapp``报错
时间: 2023-08-13 18:02:56 浏览: 158
在Uniapp中,由于event对象并非浏览器的event对象,所以不支持stopPropagation方法。因此,无法直接使用@click.stop来阻止事件冒泡。\[2\]如果你希望在点击icon时不触发父级的点击事件,可以考虑以下解决方案:
1. 在icon的点击事件处理函数中,手动调用event.stopPropagation()方法来阻止事件冒泡。例如:
```
<template>
<view @click="parentClick">
<u-icon @click="iconClick"></u-icon>
</view>
</template>
<script>
export default {
methods: {
parentClick() {
console.log('父级点击事件');
},
iconClick(event) {
event.stopPropagation();
console.log('icon点击事件');
}
}
}
</script>
```
2. 如果你希望在点击icon时不仅阻止事件冒泡,还要阻止父级的点击事件,可以在父级的点击事件处理函数中添加一个判断条件,只有当事件的target不是icon时才执行相应的逻辑。例如:
```
<template>
<view @click="parentClick">
<u-icon @click="iconClick"></u-icon>
</view>
</template>
<script>
export default {
methods: {
parentClick(event) {
if (event.target.tagName !== 'U-ICON') {
console.log('父级点击事件');
}
},
iconClick() {
console.log('icon点击事件');
}
}
}
</script>
```
通过以上两种方式,你可以在Uniapp中实现在点击icon时不触发父级的点击事件。
#### 引用[.reference_title]
- *1* *2* [uniapp 报错之 uview 中 u-icon 点击 阻止冒泡 @click.stop 报错](https://blog.csdn.net/YZRHANYU/article/details/127961460)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文