Как передать объект из приложения Express в интерфейс Pug? - PullRequest
0 голосов
/ 24 февраля 2020

Так что у меня проблемы с передачей данных из моего express бэкэнда в мой интерфейс мопса. Я хочу визуализировать данные о местоположении из моей базы данных, передать их на страницу местоположений и перебрать данные о местоположении. Данные не распознаются браузером. Что я делаю не так?

приложение. js

    app.get('/:store_id', async (req, res) => {
      await db.stores.findById(req.params.store_id)
        .then(locations => {

          // example of locations
          locations = [ 
          {
            location: 'Fremont',
            latitude: 37.49267,
            longitude: -121.94409
          },
          {
            location: 'Folsom',
            latitude: 38.64392,
            longitude: -121.18621
          }
        ];
        res.render('location', {locations})
      }).catch(error => res.render('landing'))
    })

location.pug

block content
    script.

        locations.forEach(function(sc) {
          // do something with sc
        }

"express": "^4.17.1",
"pug": "^2.0.4",

1 Ответ

0 голосов
/ 24 февраля 2020

Это будет отображаться как блок скрипта в обработанном файле HTML:

<script>
  locations.forEach(function(sc) {
      // ...
  }
</script>

Скорее всего, он ничего не изменит при загрузке страницы (если у вас не будет итеративной переменной locations доступный). Вы хотите использовать синтаксис Pug :

content
  each location in location
    //- do stuff
...