@Skrolea

Как передать название иконки в миксин?

Добрый день.
Хочу сделать миксин кнопки, которая в результате будет принимать на входе либо текст, либо иконку.
mixin button(spec)
 - spec = spec || {}
 - spec.__class = spec.__class || 'btn'
 - spec.text = spec.text || ''
  button(class=spec.__class)&attributes(attributes)
     span=spec.text

Соответственно, вызываю его
+button({__class:'btn btn-primary',text:'Читать'})
+button({__class:'btn-fab',text:'i.material-icons add'})

Но поскольку я передаю текст (i.material-icons add) в span, то он и выходит как текст. Что сделать в таком случае?
Добавить еще один параметр специально для fab как-то или какое то условие?
Пример на codepen
  • Вопрос задан
  • 154 просмотра
Решения вопроса 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Нет, все проще, если внимательно читать документацию:

mixin button(spec)
    - spec = spec || {}
    - spec.__class = spec.__class || 'btn'
    - spec.text = spec.text || ''
    button(class=spec.__class)&attributes(attributes)
        if block
            block
        else
            span=spec.text

+button({__class:'btn btn-primary', text:'Читать'})
+button({__class:'btn-fab'})
    i.material-icons add


В принципе, от параметра text можно вообще отказаться.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы