<div class="preview">
<VueSlickCarousel
ref="preview"
:asNavFor="$refs.miniPreview"
:focusOnSelect="true"
:fade="true"
:arrow="false">
<div class="preview-slide" v-for="image in images">
<img :src="image" alt="{{project.title}}">
</div>
</VueSlickCarousel>
</div>
<div class="mini-slider">
<VueSlickCarousel
ref="miniPreview"
:slidesToShow="1"
:variableWidth="true"
:focusOnSelect="true"
:arrow="true"
:centerMode="true">
<div class="mini-preview" v-for="image in images">
<img :src="image" alt="{{project.title}}">
</div>
<template #prevArrow>
<div class="btn-prev">
<i class="fas fa-chevron-left"></i>
</div>
</template>
<template #nextArrow>
<div class="btn-next">
<i class="fas fa-chevron-right"></i>
</div>
</template>
</VueSlickCarousel>
</div>
:asNavFor="$refs.miniPreview"
$refs
заполняются только после того, как компонент был отрисован, и они не реактивны. Это подразумевается только как обходной путь для прямого манипулирования потомками — вам следует избегать доступа к$refs
из шаблонов или вычисляемых свойств.
mounted() {
this.$nextTick(this.$forceUpdate);
},