thousandsoulz
@thousandsoulz
lil frontie

Как написать миксин-функцию для списка в pug?

Изучаю Pug. Захотел написать миксин для быстрого создания навигационного списка. Нужно, чтобы имя и href отличались названием.
Вот миксин:
mixin list([...names], [...links])
	each name in names 
		li
			each link in links
				a(href=link)=name

Вот реализация:
+list(['Home', 'About Us', 'Order', 'Contacts'], ['_Home', '_About Us', '_Order', '_Contacts'])

Вот, что компилируется в HTML:
<li>
<a href="_Home">Home</a><a href="_About Us">Home</a><a href="_Order">Home</a><a href="_Contacts">Home</a>
</li>
<li>
<a href="_Home">About Us</a><a href="_About Us">About Us</a><a href="_Order">About Us</a><a href="_Contacts">About Us</a>
</li>
<li><a href="_Home">Order</a><a href="_About Us">Order</a><a href="_Order">Order</a><a href="_Contacts">Order</a>
</li>
<li>
<a href="_Home">Contacts</a><a href="_About Us">Contacts</a><a href="_Order">Contacts</a><a href="_Contacts">Contacts</a>
</li>

Вот, что хотелось бы:
<li>
<a href="_Home">Home</a>
</li>
<li>
<a href="_About Us">About Us</a>
</li>
<li>
<a href="_Order">Order</a>
</li>
<li>
<a href="_Home">Contacts</a>
</li>


Понимаю, что делаю неправильно. Как это можно реализовать?
  • Вопрос задан
  • 442 просмотра
Решения вопроса 1
werty1001
@werty1001
undefined
mixin list( items )
	each item in items 
		li
			a(href=item.href)=item.text

+list( [ {href: 'index.html', text: 'Home'}, {href: 'about.html', text: 'About'}, {href: 'contacts.html', text: 'Contacts'} ] )
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы