Transmission de données entre les modèles Go
Dans le package texte/modèle de Go, il est possible d'imbriquer des modèles pour réutiliser des éléments HTML courants. Cependant, si vous devez transmettre des données supplémentaires à un fichier . modèle imbriqué, le mécanisme de modèle par défaut ne le prend pas en charge directement.
Pour y parvenir, vous pouvez créer une fonction personnalisée qui combine les arguments dans une tranche et la renvoie. Enregistrez cette fonction avec votre modèle, puis utilisez-la pour transmettre les arguments.
Voici un exemple :
package main import ( "text/template" ) func main() { // Define the custom function to combine arguments func args(vs ...interface{}) []interface{} { return vs } // Parse the template with the custom function registered t, err := template.New("t").Funcs(template.FuncMap{"args": args}).Parse(...) if err != nil { // Handle error } // Render the template with the custom function t.ExecuteTemplate(..., template.Args(..., 5)) // Access the arguments in the nested template {{ define "image_row" }} To stuff here {{index . 0}} {{index . 1}} {{ end }} }
Avec cette approche, vous pouvez transmettre dynamiquement des données supplémentaires aux modèles imbriqués, ce qui permet code HTML plus flexible et réutilisable.
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!