@birdzxc

Как передать данные через vuex в router?

Добрый день. При помощи геттеров не передаются данные в router-link и данные на записываются в массив. Если же сделать корзину на одной странице с каталогом, то все прекрасно записывается в массив корзины. Можно какие-нибудь примеры реализации? В самом роутере указал передачу пропсов.
  • Вопрос задан
  • 202 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
не передаются данные в router-link

А что за данные? Почему не показали (да и не только данные - ни строчки кода не вижу)? Случайно не объект запихнуть пытаетесь? - если так, то скорее всего всё передаётся, но данные превращаются в мусор. Дело в том, что роутер приводит значения параметров к строкам (кроме массивов - они-то останутся массивами, в строки будут превращены их элементы). Соответственно, если дальше вы из полученной строки или строк попытаетесь извлечь какие-то свойства (конечно из тех, что у строк нет), то получите undefined.

Если же сделать корзину на одной странице с каталогом, то все прекрасно записывается в массив корзины.

Что-то не понял, что конкретно вы пытаетесь сделать. Вижу два варианта, и оба бредовые.

1. Вы пытаетесь добавлять товар в корзину при переходе по ссылке. Если так - не надо никуда переходить, вместо router-link сделайте кнопку, по клику на которую сразу будет вызываться соответствующее действие или мутация.

2. Вы пытаетесь через router-link передать в компонент корзины массив добавленных в неё товаров. Если так - не надо ничего передавать, пусть компонент корзины забирает данные сразу из vuex.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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