@drtvader
Вечный студент

Как написать mixin для Jade/Pug?

Привет! Как правильно написать mixin, имея условие на то, что в любой из li возможно будет еще один список ul.
Сейчас написал такой mixin:
mixin benefits-product(title, ...items)
    +b.each-product
        +e('ul').list #{title}:
            each item in items
                +e('li').item--benefits #{item}
            +e('li').item--benefits #{item}
                +e('ul').list--benefits
                    each item in items
                        +e('li').item--benefits #{item}


We1bi.png

Но он не верный.
  • Вопрос задан
  • 2174 просмотра
Решения вопроса 1
Zoxon
@Zoxon
Веб-разработчик
Рекурсия
codepen.io/Zoxon/pen/zBPBbW?editors=1000#0

{
	"title": "Title text",
	"items": [
		{
			"title": "Item 1"
		},
		{
			"title": "Item 2",
			"sublevel": true,
			"items": [
				{
					"title": "Item 2.1"
				},
				{
					"title": "Item 2.2"
				},
				{
					"title": "Item 2.2",
					"sublevel": true,
					"items": [
						{
							"title": "Item 2.2.1",
							"sublevel": true,
							"items": [
								{
									"title": "Item 2.2.2.1"
								},
								{
									"title": "Item 2.2.2.2"
								},
								{
									"title": "Item 2.2.2.3"
								}
							]
						},
						{
							"title": "Item 2.2.2"
						},
						{
							"title": "Item 2.2.3"
						}
					]
				}
			]
		},
		{
			"title": "Item 3"
		}
	]
}


mixin list(data)
	ul
		each item in data.items
			li= item.title
				if item.sublevel
					+list(item)


Можно вообще убрать sublevel и делать проверку на вложенный items
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект