#syntax #pug #markup
Вопрос:
Я продублировал код в pug mixin, используя шаблонные литералы (строка шаблона)
input(class=`${concatenatedClasses}`, type=`${type}`, placeholder=`${placeholder}`)
Код выглядит так:
if modificator === 'masked'
.text-field__wrapper-masked
input(class=`${concatenatedClasses}`, type=`${type}`, placeholder=`${placeholder}`)
else if modificator === 'email'
-placeholder = 'Email'
-type = 'email'
.text-field__wrapper-subscription
span.material-icons
| arrow_forward
input(class=`${concatenatedClasses}`, type=`${type}`, placeholder=`${placeholder}`)
else
input(class=`${concatenatedClasses}`, type=`${type}`, placeholder=`${placeholder}`)
Я хочу хранить дублированный код в переменной, поэтому мне не нужно дублировать. Подобный этому:
-let textFieldOutput = input(class=`${concatenatedClasses}`, type=`${type}`, placeholder=`${placeholder}`)
if modificator === 'masked'
.text-field__wrapper-masked
#{textFieldOutput}
else if modificator === 'email'
-placeholder = 'Email'
-type = 'email'
.text-field__wrapper-subscription
span.material-icons
| arrow_forward
#{textFieldOutput}
else
#{textFieldOutput}
Но это приводит к синтаксической ошибке, когда я пытаюсь сохранить разметку мопса в переменной.
- Error: Error parsing body of the with expression
Есть ли способ сделать это?
Большое спасибо за ваше внимание и помощь.
Комментарии:
1. Используйте другой миксин для дублированного содержимого