尝试使用PugJS迭代href属性和链接文本

时间:2017-05-21 03:15:10

标签: node.js pug

我很难抓住我的json对象并使用名称和值来建立链接。我也尝试过单独的数组,但是如果我将对象设置为{title:url}并且使用此代码时,我已经确定它会更容易:

      ul
    each url, title in news
      li= title
      li= url

它会像我这样返回我的标题和网址

  • 这些是反对网络中立性的论据 - 以及它们的原因 错
  • https:// techcrunch。 COM / 2017/05/19 /这些-是最参数抵净中性和 - 为什么 - 吗更有-错/
  • 现代初创公司遵循的奇怪命名趋势
  • https:// techcrunch。 COM / 2017/05/20 /的-离奇命名-趋势 - 即现代-创公司遵循/
  • Salesforce稳步迈向$ 10B运行率目标
  • https:// techcrunch。 COM / 2017/05/19 /销售人员-游行-稳步-朝向-10B-运行速率的目标/
  • 优步威胁要在Waymo商业机密中心消防工程师 诉讼
  • https: //techcrunch.com/2017/05/19/uber-waymo-anthony-levandowski-termination-threat /

但是当我尝试使用此代码建立链接时

   each url, title in news
    a(href= url) title

我明白了:

titletitletitletitle

链接有效,但不会迭代标题... 有关此问题的任何提示吗?

2 个答案:

答案 0 :(得分:0)

我决定切换到一个数组,看起来你需要a = after(href = link),如下所示:

   each articles in news
    p
      a(href = articles.url)= articles.title
      li= articles.description

答案 1 :(得分:0)

问题实际上是必须有一个等号(您是对的),但受让人(左侧)和等号之间不能有空格。例如,这有效:

ul
   each url, title in {'/a': 'Title A', '/b': 'Title B'}
      li
         a(href=url)= title

... 并将呈现:

<ul>
   <li>
      <a href='/a'>Title A</a>
   </li>
   <li>
      <a href='/b'>Title B</a>
   </li>
</ul>

如果你省略等号或像这样留下一个空格:

ul
   each url, title in {'/a': 'Title A', '/b': 'Title B'}
      li
         a(href=url) = title

...你会得到:

<ul>
   <li>
      <a href='/a'>title</a>
   </li>
   <li>
      <a href='/b'>title</a>
   </li>
</ul>