编程语言
首页 > 编程语言> > javascript – 如何使用三元运算符将类添加到ejs中的HTML元素

javascript – 如何使用三元运算符将类添加到ejs中的HTML元素

作者:互联网

我是新手使用ejs.有一个菜单,我想突出显示当前菜单项.
我试过这个:

<li class=<% currentMenu == 'dashboard' ? 'active' : ''%>>
    <a href= '/dashboard'>
       <i class="material-icons">dashboard</i>
       <span>Dashboard</span>
    </a>
</li>

currentMenu的值由快速路由器提供,如下所示:

app.get('/dashboard', function(req, res) {
  if (isAuthorised) {
    res.render('pages/index', {
      title: 'Welcome | MW Tracker',
      email, userName, role, menus,
      currentMenu: 'dashboard'
    })
  } else {
    res.render('pages/sign-in', {
      title: 'Sign In | MW Tracker'
    })
  }
});

请问我如何添加课程?

解决方法:

您需要替换< %%>标记为<%=%> tag为了输出表达式值:

<li class="<%= currentMenu === 'dashboard' ? 'active' : '' %>">
  <!-- -->
</li>

EJS documentation所述,< %%>标签用于控制流,没有输出代码;而<%=%>标签输出并将值插入HTML模板.

例如,下面的if语句使用< %%>标签因为语句不需要输出到HTML中.然后在条件内部,使用<%=%>输出变量并将其插入到HTML模板中.标签:<%= currentMenu%>.

<% if (currentMenu === 'dashboard') { %>
  <span><%= currentMenu %></span>
<% } %>

标签:javascript,node-js,template-engine,ejs
来源: https://codeday.me/bug/20190722/1501762.html