2016-06-05 3 views
1

Я использую https://github.com/sahat/hackathon-starter/tree/es6, который использует Jade в среде ExpressJS & MongoDB NodeJS. Мои вопросы: как я могу обновить #{event.location} & & #{event.city} в лицевой части, если они меняются внутри MongoDB в фоновом режиме?Jade # {user.username} Partial Page Обновить

Я не хочу обновлять весь сайт, чтобы #{event.location} и #{event.city} были обновлены в интерфейсе.

Не могли бы вы объяснить, как это сделать или если есть лучший способ достичь этого? Может быть, с Socket.IO или каким-то другим способом. Я довольно новичок в Node, JS, Jade и т. Д. И даже не могу уловить достойный способ обновления части страницы с помощью JADE ....

Заранее благодарю вас за помощь! Kudos

ответ

2

Экспресс/Нефрит может отображать страницу только один раз из бэкэнд при получении запроса HTTP.

Если вам необходимо обновить данные на интерфейсе, вам придется использовать разные стратегии в зависимости от того, как обновляются ваши данные.

Если ваши данные в бэкэнд обновлены через один и тот же интерфейс или в известное время, вы можете использовать вызовы AJAX на сервере и периодически перебирать значения.

Если данные обновляются через другой канал, то socket.io был бы способ пойти. Вы можете генерировать события из бэкэнд при изменении данных и получать события на внешнем приложении и обновлять поля данных только с помощью привязок javascript.

Если у вас слишком много манипуляций с данными, которые нужно выполнить, я бы предложил использовать фреймворк интерфейса от таких, как Angular или Meteor.