MortSith
@MortSith

Как передать переменную из цикла v-for (vuejs + vue-router)?

как передать переменную, есть например меню, активный пункт меню пусть называется 'Вакцина 1', а в product__content есть заголовок с названием активного пункта меню, подскажите может есть простое решение
<script setup>

const prodNamesArray = [
  'Вакцина 1',         //1
  'Вакцина 2',         //2
  'Вакцина 3',         //3
  'Вакцина 4',         //4
  'Вакцина 5',          //5
  'Вакцина 6',          //6
 ] //массив названий продуктов

const routLink = 'rtnav'

</script>

<template>
    <div class="product">

      <div class="product__nav nav">
        <ul  class="nav__menu">  //тут меню 

          <li class="nav__item" v-for="(item, i) in prodNamesArray" :key="i">
            <router-link :class="routLink"
            :to="{ path: ('/Product/prod' + (i + 1) ) }">{{item}}
            </router-link>
          </li>

        </ul>
      </div>
      <div class="product__content">
       
      <router-view></router-view> //как сюда передать переменную из цикла v-for ??? 
например так: <router-view msg="item"></router-view> ,
 если бы здесь было видно содержимое этого цикла
      </div>

    </div>


</template>

<style lang="scss" scoped>

</style>
  • Вопрос задан
  • 246 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Элемент массива prodNamesArray записывать router-link'у в параметр to:

<router-link :to="`/Product/${item}`">{{ item }}</router-link>

И пробрасывать его в props компонента маршрута.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы