【问题标题】:Jade not rendering external JSONJade 不呈现外部 JSON
【发布时间】:2016-11-04 10:54:13
【问题描述】:

我有一个翡翠模板,应该列出 QPX Express 搜索请求的所有可能解决方案:

{ kind: 'qpxExpress#tripsSearch',
  trips: 
   { kind: 'qpxexpress#tripOptions',
     requestId: 'RwDOf6HXVDvvn6nBm0PNpw',
     data: 
      { kind: 'qpxexpress#data',
        airport: [Object],
        city: [Object],
        aircraft: [Object],
        tax: [Object],
        carrier: [Object] },
     tripOption: [ [Object], [Object], [Object] ] } }

但是,我正在尝试渲染视图上方,但我不断收到此错误:

Cannot read property 'tripOption' of undefined

模板

block content
  .ui
    for data in result
      .ui_box
        .ui_box__inner
          .event
            span #{data.trips.tripOption[].saleTotal}

路线

router.get('/', function(req, res, next) {
  api.apiGet(function (data) {
    console.log(data) //THIS WORKS
    res.render('index', {result: data})
  })
})

所有代码对我来说都是正确的,我正在处理来自 API documentation 的属性。谁能指出我正确的调试方向?

【问题讨论】:

    标签: javascript json node.js express pug


    【解决方案1】:

    更新:1

    要从tripOption 的数组中显示saleTotal,请像下面这样更改您的玉模板,

    block content
      .ui
        for data in result
          .ui_box
            .ui_box__inner
              .event
                each trip in data.trips.tripOption
                span #{trip.saleTotal}
    

    在您的代码中,span #{data.trips.tripOption[].saleTotal}

    如果 data 引用 JSON 内容,则像这样更改您的跨度绑定

    span #{data.trips.data.tripOption[].saleTotal} 别的 span #{data.tripOption[].saleTotal}

    因为tripOptiondata 对象中可用,而在trips 中不可用

    【讨论】:

    • 好的,谢谢,太好了。我可以访问tripOption,但我无法访问saleTotal 所在的嵌套对象。我收到以下错误Cannot read property 'saleTotal' of undefined。有什么想法吗?
    猜你喜欢
    • 2016-05-30
    • 2014-11-24
    • 2012-08-02
    • 2015-08-06
    • 1970-01-01
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 2017-07-12
    相关资源
    最近更新 更多