Jade. Как передать переменную из одного шаблона в дргой, подключаемый?

В шаблоне страницы у меня 3 раза подключается блок .container. Но первый раз с модификатором .container_one, затем .container_two и наконец .container_three. То есть в итоге это выглядит примерно так:
<div class="container container_one">
<div class="container container_two">
<div class="container container_three">

Я решил, что здорово было бы вынести блок container в отдельный jade-файл и подключать его, передавая переменную при подключении.

В TWIG это делается примерно так:
{% include 'template.html' with modificator %}
И в подключаемом шаблоне пишем:
<div class="container {{ modificator }}">
Все, файл подключится с переданной ему при вызове переменной и эта переменная будет использована в подключаемом файле.

Как такую штуку реализовать в Jade?
  • Вопрос задан
  • 2764 просмотра
Решения вопроса 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
В Jade нет такой красивой конструкции, но есть миксины.
// container.jade
mixin container(modifier)
    .container(class=modifier)

// index.jade
include ./container // надо явно заинклюдить файл с миксином

+container('container-one')
+container('container-two')
+container('container-three')


В данном конкретном случае можно даже проще:

// container.jade
mixin container()
    .container&attributes // http://jade-lang.com/reference/attributes/

// index.jade
include ./container

+container().container-one
+container().container-two
+container().container-three
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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