javascript - vue3 类处于事件状态时如何切换事件

标签 javascript html vue.js vuejs3

问题

如果“事件”类添加到元素,我想切换事件。我怎样才能实现这个目标?

在我看来,它可以通过观察者方法以某种方式实现,但我不知道如何观察类名是否应用于元素。

我正在使用vue3 .

编辑

我有一个轮播,您可以在其中滑动一些 div,并且可见的类将处于“事件”状态。我想监视所有 div,如果它们处于事件状态,则调用一个函数。

最佳答案

下面是一个以声明方式实现此目的的示例。

const { watch, ref } = Vue;

const CarouselItem = {
    props: ['item'],

    template: `<h1 :class="{ ...item }">{{ item.name }}</h1>`,

    setup(props) {
        watch(
            props.item,
            (item, prevItem) => item.active && console.log(`${item.name} made active!`),
        );
    }
};

Vue.createApp({
    components: { CarouselItem },

    template: '<CarouselItem v-for="item in items" :item="item" />',

    setup() {
        const items = ref([
            { name: 'Doril', active: false },
            { name: 'Daneo', active: false },      
            { name: 'Mosan', active: false },
        ]);

        // simulate a carousel item being made active
        setTimeout(() => items.value[1].active = true, 1000);

        return { items };
    },
}).mount('#app');
.active {
    color: red;
}
<script src="https://unpkg.com/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="6a1c1f0f2a59445a445d" rel="noreferrer noopener nofollow">[email protected]</a>/dist/vue.global.js"></script>

<div id="app"></div>

关于javascript - vue3 类处于事件状态时如何切换事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66528967/

相关文章:

javascript - DocType 声明问题

javascript - 需要 HTML5 输入,在提交时滚动到带有固定导航栏的输入

vue.js - 将 quill 模块与 vue2-editor 和 webpack 混合使用

javascript - 将事件监听器附加到整个 html 文档的最佳方式

javascript - 访问数据表之外的 ajax 数据

javascript - 无法在 JS 而不是 HTML 中初始化 ng-model

vue.js 在 jquery ajax 之后显示组件

javascript - Sinon fake callOnce 未检测到第二个异步调用的调用

html - ul 列表中出现神秘边距

javascript - 未找到导出默认值