let cartItem = state.cart[item.id];
Ну смотрите, у вас эта строчка что делает ? она пытается обратиться к ключу в cart, а у вас он может быть пустым объектом { } , поэтому и падает с ошибкой, вы проверьте, существуют ли вообще ключи в объекте, а потом выполняйте условия, ну либо что-то на подобии : let cartItem = state.cart?[item.id];
Советую форматнуть код и проверить, что все теги четко друг-друга закрывают,
html-formatter поможет
Либо смени редактор, так же, может быть проблема, если ты из 2х файлов собираешь html страницу
Нужно больше вводных, запиши пример на jsfiddle.
Судя по коду, ты путаешь получить клик по кнопке, однако, если внутри кнопки свг картинка, то ты кликаешь по ней, тебе надо использовать currentTarget, без точного пояснения и примера, что ты хочешь, невозможно помочь тебе
Мне кажется, тут вотчер будет лишним
можно повесить @click и в методе делать router.push и так же emit, такое решение может быть масштабированным, если потребуется передавать еще какие-то доп параметры или информацию из компонента пагинации
Да, правильное решение,
Использовать Websocket + запросы на изменение данных, тут как вы захотите, можете сделать через watch или же по клику на кнопки.
let cartItem = state.cart[item.id];
Ну смотрите, у вас эта строчка что делает ? она пытается обратиться к ключу в cart, а у вас он может быть пустым объектом { } , поэтому и падает с ошибкой, вы проверьте, существуют ли вообще ключи в объекте, а потом выполняйте условия, ну либо что-то на подобии :
let cartItem = state.cart?[item.id];