运行一个循环来迭代Jade模板中的对象数组

Running a loop to iterate an array of objects in a Jade template

本文关键字:Jade 数组 对象 迭代 循环 一个 运行      更新时间:2023-09-26

我有一个对象从显示在下面的express后端传递

{
_id: 5452e afedac635961faff524,
__v: 0,
English: 'null',
Url: 'null',
Amount: '12999',
Status: 'Article Received',
OrderId: 'tok_14tUYy2Jju1nvjb4L3ZLSTRl',
Payment: 'Paid',
NoteToJourno: '',
EditorNote: '',
About: '',
Facts: ['[{"count":1,"fact":"dsaf","content":"sdaf"}]'],
KeyPoint: 'This sime;t',
Angle: 'Casual',
Embargo: 'dsf',
ProjectName: 'Anthony',
date: Fri Oct 31 2014 07: 20: 27 GMT + 0530(IST),
userEmail: '******hguy@gmail.com',
userName: 'raju'

}

以下是我的玉石模板的外观

 body
  .container        
      table.table.table-bordered
          thead
              tr
                th Username and Email
                th 
                  span
                    | #{data[0].userName}
                  span
                    |  #{data[0].userEmail}
            tbody
              tr   
                td Project Name 
                td #{data[0].ProjectName}
              tr
                td Project Embargo
                td #{data[0].Embargo}
              tr
                td Angle 
                td #{data[0].Angle}
              tr
                td Key Point
                td #{data[0].KeyPoint}
              tr
                td 
                  strong Facts 
                td 
            for fact in data[0].Facts
              tr  
                td  Fact fact.count     
                td  fact.fact
              tr
                td About 
                td #{data[0].About}
              tr 
                td Editor Note
                td #{data[0].EditorNote}  
              tr
                td Note to Journalist
                td #{data[0].NoteToJourno}
              tr
                td Preffered style of English
                td #{data[0].English}
              tr
                td 
                td    
      |#{data} 

我的问题是我想迭代Facts数组并打印数组中的元素。正如你所看到的,我使用了for循环,它不输出值,我也尝试过使用

each fact in data[0].Facts
                  tr  
                    td=fact.count     
                    td=fact.fact

但它不起作用,我哪里错了?

看起来Facts中的条目是字符串,而不是数组。数据[0]中的事实。事实只是一个字符串,因此fact.countfact.fact不存在。在调用fact.count

之前,您必须先对该字符串进行JSON.parse()