<\/P>
Então, todas as crianças descoladas do bairro têm data binding. Você pode fazer isso no Angular<\/A>, React<\/A>, ou Ember<\/A>. Em cada um desses casos, você meio que obtém data binding para o DOM pronto para usar. Dojo não funciona exatamente assim. Você pode fazer isso com certeza com um pouco de trabalho usando Stateful watch <\/A> e atualizando o DOM quando os dados mudam. Se você estiver usando dijits, definitivamente pode ligar a Stores e receber atualizações<\/A>, mas e quanto a elementos DOM comuns e antigos<\/EM>.<\/P><\/P>É aí que algo como dbind<\/A> entra em cena. dbind se enquadra na categoria que gosto de chamar de pacotes amigáveis ao Dojo<\/EM>. Ou seja, foi escrito para funcionar com Dojo, principalmente como projetos paralelos de um colaborador Dojo. Alguns deles se tornaram projetos completos sob SitePen<\/A>. Um exemplo recente seria dstore<\/A>.<\/P><\/P>
Você pode ver um exemplo disso em ação
<\\/P>
Como você pode ver, você pode vincular elementos DOM às mudanças em um objeto<\\/EM>, e neste caso, conforme você move o mouse pelo mapa, o texto no elemento muda. Isso é muito legal mesmo<\\/STRONG>. As coordenadas, no entanto, parecem ser um pouco demasiadamente precisas<\\/EM>, seus usuários não precisam desse nível de detalhe, então você pode usar dbind para vincular essas mudanças a uma função<\\/EM> e então vincular o DOM aos resultados dessa função<\\/EM>. Parece confuso? É apenas uma mudança nesse código que você pode fazer assim.<\\/P><\\/P> var fixed3 = function fixed3(n) {\n return n.toFixed(3);\n } ; \n & nbsp ; var LabelContainer = declare([_WidgetBase , _TemplatedMixin], { \ n & nbsp ; templateString : template , \ n & nbsp ; constructor : function () { \ n & nbsp ; & nbsp ; this.set ('x' , 0 ); \ n & nbsp ; & nbsp ; this.set ('y' , 0 ); \ n & nbsp ; } , \ n & nbsp ; postCreate : function () { \ n & nbsp ; & nbsp ; var roundX = bind(fixed3).to(this , 'x' ); \ n & nbsp ; & nbsp ; var roundY = bind(fixed3).to(this , 'y' ); \ n & nbsp ; & nbsp ; bind(this.xNode).to(roundX); \ n & nbsp ; & nbsp ; bind(this.yNode).to(roundY); \ n & nbsp ; } \ n });<\\/PRE>Você pode ver este exemplo
Para mais dicas e truques geodev, confira meu
Membros conectados podem postar, seguir atualizações e mais. Novo aqui? Registre uma conta gratuita.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.