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

Using Express-Handlebars, how can I set an Item to active from my Navigation Bar?

最近,我实施了 Express-Handlebars,但随之而来的是一个问题:我似乎无法将当前的导航栏设置为活动状态。 我查看了很多帖子,但它要么不起作用(也许我做错了什么?)要么它不是我正在使用的 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"});
});

如有任何提示,我们将不胜感激!谢谢!

我不确定你想什么时候将它设置为活动,但你需要在需要活动时通过 active.register。

所以像这样:

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

这将使您的 handlebars 登录 li 到 "nav-item active",显然您将实施逻辑来确定 Register 是真还是假。