Passando dados para modelos renderizados no Go
Os modelos In Go, incluindo outro modelo, é um processo simples usando o {{ template "include- nome do modelo" }} sintaxe. No entanto, às vezes é necessário passar dados adicionais para o modelo incluído.
Introduzindo a passagem dinâmica de parâmetros
Considere um cenário em que você deseja passar um número para um modelo , "image_row.html", que usa esse número para construir linhas dinamicamente. Isso requer passar o número como um argumento adicional para a invocação do modelo.
Função personalizada para passar vários argumentos
Como não há suporte integrado para passar vários argumentos para um modelo, você pode criar uma função personalizada para mesclar os argumentos em uma única fatia. Registre esta função com Funcs e use-a na invocação do modelo:
func args(vs ...interface{}) []interface{} { return vs }
t, err := template.New("t").Funcs(template.FuncMap{"args":args}).Parse...
Uso na invocação de modelo
Dentro do template principal, você pode passar os argumentos usando a função args:
{{ template "image_row" args . 5 }}
Acessando argumentos no modelo incluído
Em "image_row.html", você pode acessar os argumentos usando a função de índice integrada:
{{ define "image_row" }} To stuff here {{index . 0}} {{index . 1}} {{ end }}
Essa abordagem permite transmitir dados dinâmicos para modelos renderizados, proporcionando maior flexibilidade no design de modelos e no tratamento de dados.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3