使用Express-Handlebars,如何从导航栏中将项目设置为活动状态?

时间:2018-06-15 12:31:06

标签: node.js express express-handlebars

最近,我实现了Express-Handlebars并且随之出现了一个问题:我似乎无法将当前导航栏设置为活动状态。 我已经查看了很多帖子,但它要么不起作用(也许我做错了什么?)或者它不是我正在使用的把手。

以下是我目前的代码,取自在线教程:

Header.hbs:

      <ul class="nav navbar-nav navbar-right">
        <li class="nav-item {{#if active.Register}}active{{/if}}" class="navbar-right">
          <a class="nav-link" href="/Register">Register</a>
        </li>
        <li class="nav-item {{#if active.Login}}active{{/if}}" class="navbar-right">
          <a class="nav-link" href="/Login">Login</a>
        </li>
      </ul>

路线:

app.get('/Login', function(req, res) {
    res.render('Login', { title: "Login"});
});

app.get('/Register', function(req, res) {
    res.render('Register', { title: "Register"});
});

任何提示将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:0)

我不确定您何时将其设置为活动状态,但需要在需要激活时传递active.register。

这样的事情:

app.get('/Login', function(req, res) {
    res.render('Login', { title: "Login" , active: {Register: true }});
});

这将使您的把手登录到“nav-item active”,显然您将实现逻辑以确定Register是真还是假。