PugsJs将其他类添加到mixin

时间:2019-10-24 13:19:51

标签: navigation pug

如何将一些额外的类添加到已经具有类的mixin中。 这是我的代码,我正在尝试添加第三个参数,但是它不起作用。

mixin item(title, url, extraClasses)
    mixin linkA
        a.nav-link(href=url)= title
    li.nav-item.mr-auto.#{extraClasses}(class=title === activeMenu ? 'active' : '')
        +linkA

ul.navbar-nav.ml-auto
    each val in ['Menu1', 'Menu2', 'Menu3', 'Menu4']
      if val !=='Menu1'      
        +item(val, href='/' + val.toLowerCase() + '.html', 'test1')
      else
        +item(val, href='/' + val.toLowerCase() + '.html', 'test2')

查看以下内容: https://codepen.io/Bizboss/pen/zYYwoZP?editors=1011

1 个答案:

答案 0 :(得分:1)

您可以使用&attributes mixin语法轻松地将其他类传递给mixin中的元素。

这是一个简化的示例:

!=

这将呈现:

mixin item(title, url, isActive)
  li(class= isActive ? 'active' : '')&attributes(attributes)
    a(href= url) #{title}

ul
  +item('Home', '/', true).myClass
  +item('About', '/about', false)
  +item('Contact', '/contact', false).foo.bar