«

Vue中如何在子组件中阻止事件冒泡?

时间:2023-6-13 17:09     作者:六思逸     分类: Vue


在vue中使用某些组件时,在父组件中绑定了点击事件,但是某些子组件组件又想阻止冒泡,肯呢个你会想到用@click.stop,但是有些时候这个也阻止不了,我们就需要用到@click.native.stop

@click.native是Vue中的一个修饰符,它被用于处理子组件的原生DOM事件,例如使用@click.native修饰符可以在组件中阻止事件冒泡,即阻止事件传递到组件的父级元素。

在Vue中,组件绑定的事件都是经过Vue处理过的虚拟DOM事件,而且父组件绑定的事件在子组件中默认情况下是不响应的,这是因为子组件不会产生原生的DOM事件。如果我们想要在子组件中处理原生DOM事件,就需要使用@click.native修饰符。

案例

<van-card
    v-for="(v2, i2) in v.foods"
    :key="i2"
    :price="v2.price"
    :desc="v2.goodsDesc"
    :title="v2.name"
    :thumb="v2.imgUrl"
    @click="details(v2)">  // 点击事件
    <template #tags>
        <van-tag type="success">特惠</van-tag>
    </template>
    <template #footer>
        <van-stepper
            v-model="v2.cartNum"
            theme="round"
            button-size="22"
            disable-input
            :max="100"
            :min="0"
            @change="changeCart"
            @click.native.stop  //阻止冒泡
        />
    </template>
</van-card>

标签: Vue 组件 点击事件 阻止冒泡

版权所有:六思逸
文章标题:Vue中如何在子组件中阻止事件冒泡?
除非注明,文章均为 六思逸 原创,转载请注明作者和出处 六思逸

扫描二维码,在手机上阅读

推荐阅读:

评论:
avatar
小瑞 2023-06-14 11:09
真好!!!