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.
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