Как визуализировать определенные c ключи объекта в мопсе? - PullRequest
1 голос
/ 03 августа 2020

из этого запроса:



router.get('/weather', function(req, res, next) {

  requestify.get('https://api.weatherbit.io/v2.0/current?city=Trenton,TN&key=myKey').then(function(response) {
    // Get the response body (JSON parsed - JSON response or jQuery object in case of XML response)
    console.log(response.getBody());

    
    res.render('weather', {
      message: (response.body)
    })
  });

Я получаю это JSON:


{
  data: [
    {
      rh: 94,
      pod: 'n',
      lon: -88.94145,
      pres: 998.7,
      country_code: 'US',
      clouds: 25,
      ts: 1596444360,
      solar_rad: 0,
      state_code: 'TN',
      city_name: 'Trenton',
      wind_spd: 1.54,
      wind_cdir_full: 'east-southeast',
      wind_cdir: 'ESE',
      slp: 1012.4,
      vis: 5,
      lat: 35.98062,
      temp: 18.9,
      station: 'F5468',
      elev_angle: -22.32,
      app_temp: 19.3
    }
  ],
  count: 1
}

Открываю свой браузер и перехожу к http://localhost:3000/weather, в результате JSON правильно визуализированный. Однако я хотел бы визуализировать только широту / долготу и темп с помощью мопса.

Вот мой код мопса:


html
  head
    title= Weather
  body
    h1= message

Как это сделать?

1 Ответ

2 голосов
/ 03 августа 2020

Если вы хотите, чтобы все это было в строке h1, вы можете сделать:

html
  head
    title= Weather
  body
    h1= `${message.lon}, ${message.lat}, ${message.temp}` // or any other way you'd concat strings in javascript.

OR

html
  head
    title= Weather
  body
    h1= message.lon
    h1= message.lat
    h1= message.temp

, вы также можете отправить частичные данные из вашего маршрута:

res.render('weather', {
  message: {let: response.body.let, lon: response.body.lon, temp: response.body.temp}
});

Это все, учитывая, что вы действительно отправляете проанализированный объект, иначе вам пришлось бы разбирать его где-нибудь по дороге с помощью JSON.parse()

...