"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo pasar datos a las plantillas incluidas en Go?

¿Cómo pasar datos a las plantillas incluidas en Go?

Publicado el 2024-11-24
Navegar:980

How to Pass Data to Included Templates in Go?

Pasar datos a plantillas renderizadas en Go

En las plantillas de Go, incluir otra plantilla es un proceso sencillo utilizando {{ template "include- nombre-plantilla" }} sintaxis. Sin embargo, a veces es necesario pasar datos adicionales a la plantilla incluida.

Introducción del paso dinámico de parámetros

Considere un escenario en el que desee pasar un número a una plantilla , "image_row.html", que utiliza este número para construir filas dinámicamente. Esto requiere pasar el número como argumento adicional a la invocación de la plantilla.

Función personalizada para pasar múltiples argumentos

Dado que no hay soporte integrado para pasar múltiples argumentos a una plantilla, puede crear una función personalizada para fusionar los argumentos en un solo segmento. Registre esta función con Funcs y úsela en la invocación de la plantilla:

func args(vs ...interface{}) []interface{} { return vs }
t, err := template.New("t").Funcs(template.FuncMap{"args":args}).Parse...

Uso en la invocación de plantilla

Dentro de la plantilla principal, puede pasar los argumentos usando la función args:

{{ template "image_row" args . 5 }}

Acceso a argumentos en la plantilla incluida

Dentro de "image_row.html", puede acceder a los argumentos utilizando la función de índice incorporada:

{{ define "image_row" }}
   To stuff here {{index . 0}} {{index . 1}}
{{ end }}

Este enfoque le permite pasar datos dinámicos a plantillas renderizadas, lo que permite una mayor flexibilidad en el diseño de plantillas y el manejo de datos.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3