Руль скрыть / показать раздел в зависимости от URL маршрута - PullRequest
0 голосов
/ 15 октября 2019

Я использую handlebars и nodejs для создания веб-страницы с некоторыми разделами (файлы handlebars), такими как: О нас, Свяжитесь с нами, Наши услуги, Логин, нижний колонтитул и т. Д. И т. Д. По умолчанию все разделы видны, но я хотел бы скрытьодин из них при звонке Форма входа , настройка URL-бара как: http://www.mypage.com/login. В моем шаблоне руля у меня есть: main.hbs

<body>
    {{> navbar}}
    <main class="container-fluid">
        {{> messages}}
        {{{body}}}
        {{> about}}
        {{> services}}
    </main>
    {{> footer}}
</body>

Что я могусделать, чтобы скрыть или показать {{> about}} или {{> services}} или что-то еще, если я покажу форму входа в систему ???. Ссылка для входа внутри навигационной панели

заранее спасибо

1 Ответ

0 голосов
/ 15 октября 2019

Самый простой способ - использовать макеты (шаблоны). В разных файлах руля могут использоваться разные макеты.

Создайте свой основной макет как обычно.

Тот, который вы хотите изменить, создайте новый макет, а при вызове файла руля входа в систему сделайте егоиспользуйте другой макет.

Я не уверен, как вы настраиваете свои рули, но если это по умолчанию, то ваши файлы макетов находятся в представлениях / макетах. В вашей папке раскладок создайте файл handlebars и назовите его example main2.hbs, затем ниже приведен код маршрута, который указывает Express использовать layout main2 в качестве раскладки. Что касается вашей формы входа, я предположил, что у вас есть страница входа в систему с именем login.hbs. Если нет, измените «логин» на ваш файл просмотра руля.

app.get('/login', (req, res) => {
    res.render('login', {layout: 'main2'}) 
})
...