我正在使用把手和nodejs创建一个包含一些部分(把手文件)的网页,例如:关于我们,联系我们,我们的服务,登录名,页脚等。默认情况下,所有部分均可见,但我想隐藏其中之一是调用登录表单,并将网址栏设置为:http://www.mypage.com/login。在我的车把模板中,我有: main.hbs
<body>
{{> navbar}}
<main class="container-fluid">
{{> messages}}
{{{body}}}
{{> about}}
{{> services}}
</main>
{{> footer}}
</body>
我该怎么做才能隐藏或显示{{> about}}或{{> services}},或者如果我显示登录表单,该怎么办??登录链接位于导航栏内
预先感谢
答案 0 :(得分:1)
最简单的方法是使用布局(模板)。不同的把手文件可以使用不同的布局。
保持主布局正常。
您要更改的那个,创建新的布局,并在调用登录把手文件时,使其使用不同的布局。
我不确定您如何设置车把,但如果是默认设置,则布局文件位于视图/布局中。在您的layouts文件夹中,创建handlebars文件并将其命名为main2.hbs示例,然后下面的代码是告诉express使用main2作为布局的路由代码。关于您的登录表单,我假设您有一个名为login.hbs的登录页面。如果没有,请将“登录”更改为您的车把视图文件。
app.get('/login', (req, res) => {
res.render('login', {layout: 'main2'})
})