Как передать массив в миксин в pug?
mixin dropdown(params)
.iqdropdown.menu-open(id=`iqdropdown${params.idPostfix}`)
p.iqdropdown-selection= params.selectionText
.iqdropdown-menu
each item in ['item1','item2','item3']
.iqdropdown-menu-option(data-id='item1')
p.iqdropdown-item= item
.iqdropdown-item-controls
button.button-decrement.empty
i.icon-decrement
span.counter 0
button.button-increment
i.icon-decrement.icon-increment
+dropdown({leftCaption: 'dropdown',
selectionText: 'Сколько гостей',
idPostfix: '-2',
items: ['Взрослые','Дети','Младенцы'],
})
нужно в each item in ['item1','item2','item3'] вместо ['item1','item2','item3'] передать params.items.
each item in params.items не работает
Ответы (1 шт):
Нужно указать параметры по умолчанию. В твоём случае, ты вероятно ещё добавил другие вызовы этого миксина, поэтому в одном вызове ты передаёшь все нужные параметры, а в другом какой-нибудь из них не указал. В итоге, webpack выдаёт ошибку при сборке, так как, например, не передав массив в другом вызове миксина, как раз и получается, что property length of undefined. Это говорит о том, что длина массива не указана, потому что ты его и не передавал в качестве аргумента в параметры миксина, для этого и нужны параметры по умолчанию во избежании ошибок сборки/компиляции.