@dragon11
web программист

Не могу понять в чем проблема с Vuex, пишет Error in render: «TypeError»?

Добрый день.
Ввожу адрес в командной строке браузера localhost:8080/product/1
Не могу никак понять, почему когда я распечатываю объект {{loadProduct}}, распечатывается без проблем,
5c64522718fb6905928626.jpeg5c6452175b7fb197572284.jpeg

а когда указываю какое-то свойство объекта {{loadProduct.price}}, то в консоле получаю ошибку, но при этом свойство выводится на экран.
5c64524859b2f334798354.jpeg5c64524f8eedc920094176.jpeg

Если кто знает подскажите пожалуйста.
Заранее благодарен.
  • Вопрос задан
  • 43 просмотра
Решения вопроса 1
yarkov
@yarkov
JavaScript Developer
Вот что заставляет постить код картинками? Капец...
По делу: напишите так -
<span v-if="loadProduct">{{ loadProduct.price }}</span>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@2perca
Проблема в том, что в момент обращения в свойству price, loadProduct этого свойства еще не имеет. В state необходимо добавить это свойство с дефолтным значением, например 0 или null, null при рендере будет пустой строкой. Тогда, ошибки не будет, а к моменту когда там появятся реальные данные, гетер отработает и отрендерит их.
Еще несколько моментов:
1. Не используйте пропсы в таком виде, вот так будет намного лучше
props: {
    data: {
        type: Number,
        default: () => null
    }
}

2. id у вас есть в урле (в params), его не нужно пробрасывать через пропсы, используйте
this.$route.params
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
20 февр. 2019, в 23:54
1000 руб./за проект
20 февр. 2019, в 23:26
25000 руб./за проект
20 февр. 2019, в 22:04
500 руб./за проект