Maison > développement back-end > Golang > Comment puis-je actualiser dynamiquement certaines parties d'un modèle Go lors des mises à jour de variables ?

Comment puis-je actualiser dynamiquement certaines parties d'un modèle Go lors des mises à jour de variables ?

Linda Hamilton
Libérer: 2024-12-25 08:16:30
original
752 Les gens l'ont consulté

How Can I Dynamically Refresh Parts of a Go Template on Variable Updates?

Actualisation dynamique du modèle lors des mises à jour de variables dans Golang : un guide étape par étape

Il est nécessaire d'actualiser dynamiquement une partie de un modèle lorsqu'une variable spécifique est mise à jour, semblable à ce qui est possible dans Angular.js. Dans le scénario fourni, une requête AJAX est effectuée pour récupérer des adresses basées sur un code postal, les résultats étant affichés dans une section du modèle. Le but est de mettre à jour uniquement la valeur Adresses, qui est un tableau, sans recharger la page entière.

Solution :

Étant donné que le moteur de modèle ne prend pas en charge cette fonctionnalité prêt à l'emploi, voici un guide étape par étape pour y parvenir :

1. Modèles de refactorisation :

  • Séparez le modèle qui restitue les adresses dans un bloc distinct, en utilisant soit l'action {{define "name"}}, soit le {{block "name"} T1 { {end}} action (Go 1.6 et versions ultérieures).

2. Modifier les gestionnaires :

  • Créez ou modifiez les gestionnaires responsables de l'exécution du modèle de page complète ou du modèle d'adresses uniquement.
  • Envoyez la sortie du modèle d'adresses directement au HTTP rédacteur de réponse.

3. Modifier côté client :

  • Lorsque les adresses doivent être actualisées, effectuez une requête AJAX au gestionnaire qui restitue uniquement le modèle d'adresses.
  • Remplacez le contenu HTML du Adresse l'élément wrapper avec le texte de réponse de la requête AJAX.

Voici un exemple de code JavaScript qui illustre cela approche :

var e = document.getElementById("addressees");
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
    if (xhr.readyState == 4 && xhr.status == 200) {
        e.outerHTML = xhr.responseText;
    }
}
xhr.open("GET", "path-to-addresses-render", true);
try {
    xhr.send();
} catch (err) {
    // handle error
}
Copier après la connexion

En suivant ces étapes, vous pouvez implémenter l'actualisation dynamique du modèle dans Golang, permettant à des parties spécifiques du modèle d'être mises à jour lorsque les variables associées changent.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal