1. 程式人生 > 其它 >@tap.stop阻止事件繼續傳播

@tap.stop阻止事件繼續傳播

技術標籤:uni-appvuejavascript

在uni-app開發當中,難免會遇到外層view巢狀內層view,又同時都含有點選事件,這樣就會起衝突。為了防止事件的繼續傳播我們就會用到事件修飾符.stop ,先看程式碼
<template>
	<view class="wai" @tap="waiTab">
		<h5>外面</h5>
		<view class="nei" @tap="neiTab">
			<h5>內部</h5>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				
			}
		},
		methods: {
			waiTab(){
				console.log("點選了外邊")
			},
			neiTab(){
				console.log("點選了內部")
			}
		}
	}
</script>

<style>
	.wai{
		width: 100%;
		height: 100px;
		display: flex;
		justify-content: center;
		background-color: #0000FF;
	}
	.nei{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 50px;
		height: 50px;
		background-color: #00CE47;
	}
</style>

效果是這樣的:

在這裡插入圖片描述

當我們點選外部時:

在這裡插入圖片描述
當我們點選內部時:

在這裡插入圖片描述
解決方法:只需在@tap後面加.stop就可以阻止事件繼續傳播

<view class="wai" @tap.stop="waiTab">
		<h5>外面</h5>
		<view class="nei" @tap.stop="neiTab">
			<h5>內部</h5>
		</view>
	</view>