Задать вопрос
zoddak
@zoddak
Осваиваю vue.js

Как перехватить экспортируемое значение из vue-массива для вставки в js-код?

Подскажите пожалуйста как "вытащить" значение из массива vue и вставить в js-код, в нужное (отметил) место? В html всё получается, а вот в js выводит ошибку. Перерыл инет, но подобного не нашёл.

<template>
      <v-app>
    .
    .
    .
              <v-list>
                <v-list-tile
                  v-for="(item, index) in menuItems"
                  :key="index"
                  :href="'/'+item.locale"   <!-- тут экспортируемое значение item.locale нормально работает -->
                  @click="buttonClick"
                >
                  <v-list-tile-title>{{ item.title }}</v-list-tile-title>
                </v-list-tile>
              </v-list>
    .
    .
    .
      </v-app>
    </template>


// импортируем библиотеку tiny-cookie
      import { getCookie, setCookie } from 'tiny-cookie'

      export default {
        data: () => ({
          dialog: false,
          drawer: null,
          menuItems: [
            { locale: 'ru', title: 'Русский' },
            { locale: 'en', title: 'English' },
            { locale: 'ko', title: '한국어' }
          ],
        }),
        methods:{
          buttonClick: function() {

            // пишем локаль в кукисы
            const flag = true
            setCookie('flag', flag)
            setCookie('language', item.locale ) // сюда нужно вставить, но item.locale выдает ошибку
          }
        },
        props: {
          source: String
        }
      }
  • Вопрос задан
  • 69 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
muzikant777
@muzikant777
PHP/Vue разработчик
<v-list>
                <v-list-tile
                  v-for="(item, index) in menuItems"
                  :key="index"
                  :href="'/'+item.locale"   <!-- тут экспортируемое значение item.locale нормально работает -->
                  @click="buttonClick(index)"
                >
                  <v-list-tile-title>{{ item.title }}</v-list-tile-title>
                </v-list-tile>
              </v-list>

buttonClick: function(index) {

            // пишем локаль в кукисы
            const flag = true
            setCookie('flag', flag)
            setCookie('language', this.menuItems[index].locale ) // сюда нужно вставить, но item.locale выдает ошибку
          }
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
zoddak
@zoddak Автор вопроса
Осваиваю vue.js
Алексей, так вот же где - v-for="(item, index) in menuItems"... Работает в html-тегах,
а в script - нет.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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