Подтвердить что ты не робот

Установить заголовок страницы из дочернего шаблона в Jade

Я хочу установить названия страниц в дочерних шаблонах макета через нефрит. Я не хочу устанавливать их на маршрутах, так как для этого требуется перезагрузка сервера. Вот что я надеюсь сделать:

layout.jade:

!!! 5
  head
    - var title = title || "Default Title Here"
    title #{title}
    // ...

child.jade:

- var title = "Child Title Here"
extends layout
// ...

Любые мысли о том, как я могу это сделать, будут большой помощью.

Спасибо!

4b9b3361

Ответ 2

Я закончил с очень простой логикой, так как вышеупомянутый ответ не сработал у меня:

в layout.jade

block head
  - var theTitle = titleVar ? titleVar : "This title was set from The Layout!"
title #{theTitle}

в child.jade:

extends layout
block head
   - var titleVar = "This title was set from the child!"

В этом решении макет будет проверять наличие переменной под названием titleVar: если она существует (и она не равна нулю), то макет использует значение titleVar для установки в качестве заголовка, в противном случае предопределенное название (в наш случай: " Этот заголовок был задан из макета!" ) из файла макета. Попробуйте сами и прокомментируйте // определение titleVar из дочернего шаблона и посмотрите результаты.
Я надеюсь, что это решение может помочь другим:)