Как правильно v-if и v-for вложенного объекта vue js - PullRequest
0 голосов
/ 10 января 2019

Я не могу отобразить содержимое вложенного объекта с помощью v-for, есть реквизит, содержащий объект, но div не показывается, когда я делаю v-if = "prop". Пожалуйста, помогите, как решить это. Вот синтаксис, который я использовал для рендера:

<div v-if="statisticBrandBrowsers && statisticBrandBrowsers.length">
  <div v-for="(item, index) in statisticBrandBrowsers">
    <div>View: {{item.page_view.hits}}</div>
  </div>
</div>

Мои реквизиты:

prop inspected on vue dev tool

1 Ответ

0 голосов
/ 10 января 2019

Проблема заключается в условном рендеринге, а не в цикле v-for, поскольку у объектов нет свойства с именем length, поэтому вы должны сделать что-то вроде:

<div v-if="statisticBrandBrowsers && Object.values(statisticBrandBrowsers).length">

Object.values(statisticBrandBrowsers) даст вам массив, который имеет length свойство

...