<\/P>
Also haben alle coolen Kids in der Nachbarschaft Datenbindung. Du kannst es in Angular<\/A>, React<\/A> oder Ember<\/A> machen. In jedem dieser Fälle erhältst du Datenbindung zum DOM quasi direkt out of the box. Dojo funktioniert nicht ganz so. Du kannst es auf jeden Fall mit etwas Arbeit machen, indem du Stateful watch<\/A> verwendest und das DOM aktualisierst, wenn sich Daten ändern. Wenn du dijits benutzt, kannst du definitiv an Stores binden und erhältst Updates<\/A>, aber wie sieht es mit gewöhnlichen alten DOM-Elementen<\/EM> aus.<\/P><\/P>Hier kommt etwas wie dbind<\/A> ins Spiel. dbind fällt in die Kategorie, die ich gerne als Dojo-freundliche Pakete<\/EM> bezeichne. Das bedeutet, es wurde geschrieben, um mit Dojo zu arbeiten, hauptsächlich als Nebenprojekte eines Dojo-Mitwirkenden. Einige davon sind zu vollwertigen Projekten unter SitePen<\/A> geworden. Ein aktuelles Beispiel wäre dstore<\/A>.<\/P><\/P>
Du kannst ein Beispiel davon in Aktion
<\/'P>
Wie du siehst, kannst du DOM-Elemente an Änderungen eines Objekts binden<\/'EM>, und in diesem Fall ändert sich der Text im Element, während du deine Maus über die Karte bewegst. Das ist wirklich cool<\/'STRONG>. Die Koordinaten scheinen jedoch ein wenig zu genau<\/'EM> zu sein, deine Benutzer brauchen dieses Detailniveau nicht, also kannst du dbind verwenden, um diese Änderungen an eine Funktion zu binden<\/'EM> und dann das DOM an die Ergebnisse dieser Funktion zu binden<\/'EM>. Klingt verwirrend? Es ist nur eine Änderung an diesem Code, die du so machen kannst.<\/'P><\/'P> var fixed3 = function fixed3(n) { return n.toFixed(3); }; var LabelContainer = declare([_WidgetBase, _TemplatedMixin], { templateString: template, constructor: function() { this.set('x', 0); this.set('y', 0); }, postCreate: function() { var roundX = bind(fixed3).to(this, 'x'); var roundY = bind(fixed3).to(this, 'y'); bind(this.xNode).to(roundX); bind(this.yNode).to(roundY); } });<\/'PRE>Du kannst dieses Beispiel
Für mehr geodev Tipps und Tricks schau dir
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registrieren Sie ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.