Maison > Article > développement back-end > Comment transmettre des données d'un modèle parent à un modèle enfant dans les modèles Go ?
Transmission de données entre modèles
Votre requête concerne la transmission de données d'un modèle à un autre. Vous disposez d'un modèle parent (index.html) comprenant un modèle enfant (image_row.html) mais souhaitez transmettre des données supplémentaires à l'enfant.
Le comportement par défaut des modèles autorise uniquement les données définies dans le modèle parent. à transmettre à l'enfant. Cependant, vous pouvez atteindre votre objectif en employant certaines techniques :
Utiliser une fonction pour plusieurs arguments
Une approche consiste à définir une fonction qui regroupe vos arguments en un seul valeur de tranche. Vous pouvez ensuite enregistrer cette fonction et l'invoquer dans le modèle.
Par exemple :
import "text/template" func args(vs ...interface{}) []interface{} { return vs } t, err := template.New("t").Funcs(template.FuncMap{"args": args}).Parse(...)
Dans index.html :
{{ template "image_row" args . 5 }}
Dans image_row.html :
{{ define "image_row" }} Data: {{ index . 0 }} {{ index . 1 }} {{ end }}
Cela vous permet d'accéder à vos arguments dans le modèle enfant à l'aide de la fonction index :
{{ index . 0 }} -> . {{ index . 1 }} -> 5
Autres approches
Alternativement, vous pourriez envisager :
La personnalisation du mécanisme de transmission des données de cette manière vous offre flexibilité et contrôle sur comment les données sont partagées entre les modèles.
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!