{{end}}`
Aqui, .Files se refere a uma fatia de arquivos, mas queremos acesse o caminho da estrutura scriptFiles envolvente. Usar $.Path nos permite fazer isso.
Usando uma variável personalizada (método legado)
Um método alternativo envolve a criação de uma variável personalizada para passar para o escopo do intervalo , conforme demonstrado neste modelo:
const page = `{{$p := .Path}}{{range .Files}}{{end}}`
Ao definir $p como .Path antes do pipeline de intervalo, podemos acessar o caminho dentro do pipeline.
Nota: O método variável $ é recomendado porque é a abordagem mais concisa e idiomática nas versões atuais do Go.
","image":"http://www.luping.net/uploads/20241110/17312284916730734b51bb5.jpg","datePublished":"2024-11-10T18:28:28+08:00","dateModified":"2024-11-10T18:28:28+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}Acessando pipeline pai dentro do intervalo em ações de modelo
Em modelos Go, é comum usar pipelines de intervalo para iterar por fatias ou mapas. No entanto, surge um problema frequente ao tentar acessar dados fora do escopo imediato do pipeline. Este artigo explora como conseguir isso.
Usando a variável $ (recomendado)
A documentação de texto/modelo especifica que quando a execução começa, a variável $ faz referência aos dados argumento passado para Executar. Isso significa que podemos acessar os dados do escopo externo usando $.variable.
Por exemplo, considere este modelo:
const page = `{{range .Files}}{{end}}`
Aqui, .Files se refere a uma fatia de arquivos, mas queremos acesse o caminho da estrutura scriptFiles envolvente. Usar $.Path nos permite fazer isso.
Usando uma variável personalizada (método legado)
Um método alternativo envolve a criação de uma variável personalizada para passar para o escopo do intervalo , conforme demonstrado neste modelo:
const page = `{{$p := .Path}}{{range .Files}}{{end}}`
Ao definir $p como .Path antes do pipeline de intervalo, podemos acessar o caminho dentro do pipeline.
Nota: O método variável $ é recomendado porque é a abordagem mais concisa e idiomática nas versões atuais do Go.
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