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