Как динамически зациклить все значения в строке json - PullRequest
0 голосов
/ 03 июля 2018

Я создаю проект в Vue.js

Мне нужно перебрать объект JSON, но я не могу найти, как получить к нему доступ. что я получил:

 "functionality": {
        "uitgifte": {
            "image": "",
            "value": "Handmatige capsule inname en uitgifte",
            "label": "",
            "splash": true,
            "compare": false
        },
        "schakelaar": {
            "image": "",
            "value": "Automatische en programmeerbare aan/uit schakelaar",
            "label": "",
            "splash": true,
            "compare": false
        },
        "kopjesrooster": {
            "image": "",
            "value": "Draaibaar kopjesrooster voor latte macchiato-glazen",
            "label": "",
            "splash": true,
            "compare": false
        },
        "ontkalking": {
            "image": "",
            "value": "Automatische melding voor ontkalking",
            "label": "",
            "splash": true,
            "compare": false
        },
        "kopgroottes": {
            "image": "",
            "value": "Programmeerbare kopgroottes",
            "label": "",
            "splash": true,
            "compare": false
        }
    },

и HTML:

<div class="tab">
      <table>
        <tbody>
          <tr>
            <td>{{ main.pageCopy.functionele_specificaties }}</td>
          </tr>
          <tr>
            <td v-for="functionality in machine.functionality.uitgifte.value" :key="functionality">{{ machine.functionality.uitgifte.value }}</td>
            <td>
              <img src="" alt="">
            </td>
          </tr>
        </tbody>
      </table>
    </div>

Часть, которая говорит machine.functionality.uitgifte.value Мне нужно, чтобы часть "uitgifte" была динамичной, чтобы она проходила по всем элементам, подобным этому в JSON. Так что «уитгифте, щакелаар, копьесроостер» и т. Д.

Было бы здорово, если бы кто-нибудь знал трюк. Спасибо.

1 Ответ

0 голосов
/ 03 июля 2018

Вы просто запускаете цикл for на более высоком уровне объекта:

<div class="tab">
      <table>
        <tbody>
          <tr>
            <td>{{ main.pageCopy.functionele_specificaties }}</td>
          </tr>
          <tr>
            <td v-for="(functionality, index) in machine.functionality" :key="index">
            {{ functionality.value }}</td>
            <td>
              <img src="" alt="">
            </td>
          </tr>
        </tbody>
      </table>
    </div>

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...