Uma diferença sutil, mas significativa, está na maneira como as duas bibliotecas abordam o escopo. O bigode retornará ao escopo dos pais se não conseguir encontrar uma variável no contexto atual; O guidão retornará uma string em branco.
Isso é pouco mencionado no README do GitHub, onde há uma linha para isso:
O guidão se desvia levemente do bigode, por não executar pesquisa recursiva por padrão.
No entanto, como observado lá, há uma bandeira para fazer o guidão se comportar da mesma maneira que o Bigode - mas isso afeta o desempenho.
Isso afeta a maneira como você pode usar #
variáveis como condicionais.
Por exemplo, no Bigode, você pode fazer isso:
{{#variable}}<span class="text">{{variable}}</span>{{/variable}}
Basicamente, significa "se a variável existir e for verdadeira, imprima uma extensão com a variável nela". Mas no guidão, você teria que:
- use em
{{this}}
vez disso
- use um caminho pai, ou seja,
{{../variable}}
para voltar ao escopo relevante
- definir um
variable
valor filho dentro do variable
objeto pai
Mais detalhes sobre isso, se você quiser, aqui .