Vue.js зациклить список

Есть список навигации который вывожу

<ul class=" nav-list__list"
       @scroll.passive ="handleScroll">
     <li class="nav-list__item-container"
         v-for="(item, index) in list"
         :key="index+1 "
         @mouseover="onHover(index)"
         @mouseout="isItemHovered = false; isItemsHover = false "
         :class="{'hover': isItemHovered === index, 'items-hover':isItemsHover  }"
     >
       <router-link :to="{path:item.path}">
         <div class="nav-list__item nav-list__item_visible">
           <p>{{ item.title }}</p> <span>{{ item.index  }}</span>
         </div>
         <div class="nav-list__item nav-list__item_hidden">
           <p>{{ item.title }}</p> <span>{{ item.index }}</span>
         </div>
       </router-link>
     </li>
   </ul>

 data() {
   return {
elem: null,
     list: [
       {
         title: 'Название1',
         index: '1',
         path: 'путь'
       },
       {

         title: 'Название2',
         index: '2',
         path: '/путь 2'
       },
       {

         title: 'Название3',
         index: '3',
         path: '/'
       },
       {

         title: 'Название 4',
         index: '4',
         path: '/путь3'
       },
     ],
    
 methods: {
   onHover(index) {
     this.isItemHovered = index;
     this.isItemsHover = true;
   },
   handleScroll() {
   let scrollPos  = e.target.scrollTop

     if (scrollPos  <= 3) {
       this.list.unshift(
         this.list[this.list.length -1]
         )

     } else if(scrollPos >60 ) {
       this.list.push(
           this.list[0]
       )
     }
   }

 },  
mounted() {
 this.elem = document.querySelector('.nav-list__item');

 },}

пробовал менять массив путем добавления элемента в начало или конец массива, отслеживая положения первого элемента в списке, но это мягко говоря не верно помогите зациклить этот список в виде карусели при скроле ?


Ответы (0 шт):