node.js - 我怎样才能做 Jade 中的最后一项

标签 node.js express pug template-engine

正如您从下面看到的,我有一个数组,我想在它运行时从该数组的最后一项中删除 svg。我怎么能在有条件的情况下做到这一点?类似于 if last:item else add svg

-navlinks = {"Home":"/Home", "About":"/About", "Store Directory":"/Store-Directory", "Store Page":"/Store-Page", "Events":"/Events",}
ul.navbar-menu
  for val, key in navlinks
    li 
      a(href='#{val}') #{key}
      svg.icon.icon-dots
        use(xlink:href="#icon-dots")

最佳答案

事实是,与您所说的相反,navlinks 不是 Array,而是一个Object。由于 Object 元素有数字索引,last 的概念没有太大意义。

但是,您可以遍历 Object.keys(navlinks),这是一个带有数字索引的适当 Array。所以你可以做类似的事情:

-navlinks = {"Home":"/Home", "About":"/About", "Store Directory":"/Store-Directory", "Store Page":"/Store-Page", "Events":"/Events",}
ul.navbar-menu
  - each key, index in Object.keys(navlinks)
     li 
        a(href='#{val}')= navlinks[key]
        if index < Object.keys(navlinks).length - 1
          svg.icon.icon-dots
             use(xlink:href="#icon-dots")

关于node.js - 我怎样才能做 Jade 中的最后一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25300891/

相关文章:

javascript - 更新 Mongoose 模型内的数组

javascript - Express 中的 next() 接受哪些参数

javascript - 转义 Jade 中的文字

node.js - 使用 Mongoose 自定义连接

javascript - 当在浏览器中直接访问 URL 但单击到时, Angular 路由不起作用?

javascript - 延迟的 promise 链不起作用

node.js - 在 Node express js中的请求体中传递数组

javascript - 如何配置 nodejs/expressjs 通过 https 提供页面服务?

javascript - 将数组从 pug (jade) 传递到 jquery 脚本

node.js - 为什么我的 jade 变量未定义?