2016-06-05 9 views
1

Ich verwende https://github.com/sahat/hackathon-starter/tree/es6, die Jade in einer ExpressJS & MongoDB NodeJS-Umgebung nutzt. Meine Fragen ist, wie kann ich #{event.location} & & #{event.city} in Front-End aktualisieren, wenn sie in MongoDB im Back-End ändern?Jade # {user.username} Partielle Seite aktualisieren

Ich möchte nicht die gesamte Website aktualisieren, damit #{event.location} und #{event.city} im Front-End aktualisiert werden.

Könnte jemand bitte erklären, wie man das macht oder ob es einen besseren Weg gibt, dies zu erreichen? Vielleicht mit Socket.IO oder auf andere Weise. Ich bin ziemlich neu zu Node, JS, Jade etc und kann nicht einmal eine anständige Art der Aktualisierung Teil der Seite mit JADE ....

Vielen Dank im Voraus für Ihre Hilfe! Kudos

Antwort

2

Express/Jade kann die Seite nur einmal vom Backend rendern, wenn die Anforderung HTTP kommt.

Wenn Sie die Daten im Frontend aktualisieren müssen, müssen Sie eine andere Strategie verwenden, je nachdem, wie Ihre Daten aktualisiert werden.

Wenn Ihre Daten im Backend über das gleiche Frontend oder zu einem bekannten Zeitpunkt aktualisiert werden, können Sie AJAX-Aufrufe an den Server verwenden und die Werte intermittierend abrufen.

Wenn Daten über einen anderen Kanal aktualisiert werden, dann wäre socket.io der richtige Weg. Sie können Ereignisse aus dem Backend bei Datenänderungen ausgeben und die Ereignisse in der Frontend-App empfangen und die Datenfelder nur mithilfe von JavaScript-Bindings aktualisieren.

Wenn Sie zu viele Manipulationen an Daten haben, würde ich vorschlagen, ein Frontend-Framework von Angular oder Meteor zu verwenden.