из store (Vuex) подгружаться в компонент только после того, как они были в store изменены? Понятно, что сами данные через computed, но я хочу избежать пустых значений, который отображаются по умолчанию.
Вам точно нужно именно это или может какой то прелоудер для страницы? Т. е. Просто пользователю показать что данные грузятся
Поясню. Есть компонент корзины, в котором вызывается beforeCreate () { store.dispatch( 'GET_BASKET_FULL' ) } В другом компоненте, - листинге, - есть computed: isInBasket (), который зависит от этих данных. Тут либо сделать, чтобы компонент корзины грузился всегда первым (но там async в dispatch, так что это не сыграет большего значения), либо, да, вешать прелоадер.
Что юзер должен видеть пока корзина не догрузилась?
Листинг товаров: карточки товара с фото, название и прочим. От загрузки компонента корзины зависит только класс кнопки "В корзину" и надпись, по сути.
Вам нужно чтобы листинг товаров не показывался пока корзина не прогрузилась?
Нет, как раз наоборот. Нужно, чтобы листинг показывался пользователю со всеми данными, включая нужный класс кнопки, который зависит от того, есть товар в корзине или нет. Нужно, чтобы первым грузился компонент корзины, чтобы к моменту подгрузки компонента с листингом, данные уже были в store.
Ок, пока грузится корзина, листинга нет? Просто вы же можете повесить простой v-if который проверит наличие данных в сторе
могу, но это приведет к "миганию" кнопки: сначала класс будет по умолчанию, а через несколько сотых секнуды станет классом для добавленных в корзину товаров.
Скелетон вью вместо кнопки показывайте?
Нет, думал использовать, но так руки и не дошли.
Обсуждают сегодня