Отменить реактивность в компоненте
<template>
<div :class="['carousel__item', currentActiveClass()]">
<slot></slot>
</div>
</template>
<script>
export default {
props: ['idx', 'slidesLength', 'activeSlide'],
data() {
return {
nextActiveClass: '',
activeClass: '',
};
},
methods: {
currentActiveClass() {
if (this.activeSlide === this.idx) {
this.nextActiveClass = 'carousel__item--active';
} else if (this.activeSlide === 1 && this.idx === this.slidesLength) {
this.nextActiveClass = 'carousel__item--prev-active';
} else if (this.activeSlide === this.slidesLength && this.idx === 1) {
this.nextActiveClass = 'carousel__item--next-active';
} else if (this.activeSlide + 1 === this.idx) {
this.nextActiveClass = 'carousel__item--next-active';
} else if (this.activeSlide - 1 === this.idx) {
this.nextActiveClass = 'carousel__item--prev-active';
} else if (this.activeSlide > this.idx) {
this.nextActiveClass = 'carousel__item--left-slide';
} else {
this.nextActiveClass = 'carousel__item--right-slide';
}
let current;
if (this.activeClass) {
current = `${this.activeClass} ${this.nextActiveClass}`;
} else {
current = this.nextActiveClass;
}
this.activeClass = this.nextActiveClass; // реактивно меняет current, (не нужно такое поведение)
return current;
},
},
};
</script>
<style lang="scss" scoped></style>
в методе currentActiveClass у меня есть переменная, в которую идут nextActiveClass и activeClass, дальше я меняю activeClass и при этом меняеться переменная current, как мне отключить реактивность в данном случае, тоже самое происходит если переменная current будет константой, роли не играет