Cela fait un moment que j'ai touché GWT, mais récemment, je regardais les applications GWT pour voir comment elles accomplissaient certaines tâches. J'ai remarqué que si vous allez dans AdWords (une application GWT), vous pouvez manipuler les informations de la table en ligne. Par exemple, si j'entre dans ma campagne et que je clique sur l'icône en forme de crayon à côté du groupe d'annonces, une petite fenêtre apparaîtra, me permettant de changer le nom du groupe d'annonces ... sauf qu'il n'y a aucune information d'identification dans la structure DOM. Pas de champs cachés, pas d'identifiant caché dans les éléments div.Comment GWT "sait" quel élément DOM vous venez de sélectionner?
Que se passe-t-il ici? J'ai travaillé avec des tables interactives, mais j'ai toujours mis en place un gestionnaire de clics sur une classe et y ai placé un identifiant pour que je sache ce que je suis en train d'éditer. J'ai toujours trouvé cela insatisfaisant. Des idées?
Eh bien, si vous avez une référence à un élément que vous pouvez définir son gestionnaire d'événements onclick directement 'element.onclick = doSomething()'. Puisque chaque widget GWT sait que ses gestionnaires d'éléments peuvent être ajoutés de cette façon. Je ne sais pas si tu veux dire ça. – z00bs
Oui, mais comment est-ce qu'il se connecte à une référence d'objet? Dans un fichier html traditionnel, vous auriez un formulaire avec un champ Id caché, même si vous vous connectez à l'élément, il n'y a rien pour différencier une ligne d'une autre. Il n'y a pas de champ d'identification, cela a-t-il un sens? –
Un widget crée son élément sous-jacent via 'document'. Par conséquent, il connaît son élément (pas besoin de récupérer l'élément via un identifiant ou autre). Jetez un oeil au constructeur 'Button' pour voir comment il est créé. – z00bs