Теперь мы можем использовать этот компонент RecursiveRow внутри вашего родительского компонента для обработки макета верхнего уровня.

Вот и все. Если у вас есть вопросы, оставьте комментарий ниже.

","image":"http://www.luping.net/uploads/20241022/17295566466716f0a64994b.png","datePublished":"2024-11-01T01:01:07+08:00","dateModified":"2024-11-01T01:01:07+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Генерация динамических макетов в Vue с использованием рекурсивных компонентов

Генерация динамических макетов в Vue с использованием рекурсивных компонентов

Опубликовано 1 ноября 2024 г.
Просматривать:325

Вдохновением для этой статьи послужила недавняя реализация, которую я сделал для создания динамических макетов на основе интерфейса Vue.

Предположим, ваша конечная точка API возвращает макет YAML, как показано ниже.


---
row:
  - col: 12
    row:
      - col: 12
        component_id: 1
  - col: 12
    row:
      - col: 6
        component_id: 2
      - col: 6
        row:
          - col: 12
            component_id: 3
          - col: 12
            component_id: 4


Из этого выражения YAML мы ожидаем, что макет будет похож на показанный ниже.

Generating dynamic layouts in Vue using recursive components

Итак, чтобы упростить работу, мы проанализируем эту структуру YAML и сгенерируем объект JSON. Я использовал пакет yaml.


npm install yaml



Затем мы могли бы импортировать его и запустить парсер.


import YAML from 'yaml'
const jsonObject = YAML.parse(yaml_struct)


Чтобы это работало, нам нужно создать рекурсивный шаблон Vue и компонент, который может рекурсивно вызывать себя при обнаружении вложенных строк. Таким образом, структура будет динамически обрабатывать глубоко вложенные макеты, подобные тому, который я предоставил.


Теперь мы можем использовать этот компонент RecursiveRow внутри вашего родительского компонента для обработки макета верхнего уровня.


Вот и все. Если у вас есть вопросы, оставьте комментарий ниже.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/waruna/generating-dynamic-layouts-in-vue-using-recursive-comComponents-4ci7?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить это
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3