Alguma sugestão sobre qual biblioteca de modelo HTML iria bem com JQuery? Pesquisando no Google encontrou várias bibliotecas, mas não tenho certeza se existe uma biblioteca bem reconhecida que resistiria ao teste do tempo.
Alguma sugestão sobre qual biblioteca de modelo HTML iria bem com JQuery? Pesquisando no Google encontrou várias bibliotecas, mas não tenho certeza se existe uma biblioteca bem reconhecida que resistiria ao teste do tempo.
Respostas:
Bem, para ser franco, os modelos do lado do cliente estão muito em alta hoje em dia, mas é uma selva.
os mais populares são, acredito:
existem muitos outros, mas você precisa testá-los para ver o que melhor se adapta a você e ao seu estilo de projeto.
Pessoalmente, tenho dificuldade em adicionar uma nova sintaxe e um conjunto de lógica ( misturando lógica e modelo, alô ?? ), e fui puro js. Cada um dos meus modelos é armazenado em seu próprio arquivo html (./usersTable.row.html). Eu uso modelos apenas quando ajaxing conteúdo, e tenho poucos arquivos js "lógicos", um para tabelas, um para div, um para listas. e nem mesmo uma para as opções do select (onde utilizo outro método).
Cada vez que tentava fazer algo mais complexo, descobri que o código era menos claro e demorava mais para estabilizar do que fazer da maneira "antiga". A lógica no modelo é totalmente sem sentido, na minha opinião, e adicionar sua própria sintaxe adiciona apenas bugs muito difíceis de rastrear.
um mecanismo de template para JavaScript.
Plugin para jQuery ...
Recursos:
- 100% em JavaScript
- pré-compilador
- Suporte JSON
- Trabalhe com Ajax
- Permitir o uso de código JavaScript dentro do modelo
- Permitir a construção de modelos em cascata
- Permite definir parâmetros em modelos
- Atualização ao vivo! - atualização automática de conteúdo do servidor ...
Há um documento de discussão razoável sobre este tópico aqui , que cobre uma variedade de ferramentas de modelagem. Não é específico para jQuery, no entanto.
Plugin de modelos jQuery criado pela Microsoft e aceito como um plugin oficial do jQuery.
Mas observe que agora ele está obsoleto.
Alguns anos atrás eu criei o IBDOM: http://ibdom.sf.net/ | A partir de dezembro de 2009, ele oferece suporte à vinculação jQuery se você obtê-lo diretamente do tronco.
$("#foo").injectWith(collectionOfJavaScriptObjects);
ou
$("#foo").injectWith(simpleJavaScriptObject);
Além disso, agora você pode colocar todos os marcadores "data: propName" nos atributos class = "data: propName other classnames", para que você não precise sujar o conteúdo do aplicativo com esses marcadores.
Eu ainda estou para atualizar um monte de documentação lá para refletir minhas melhorias recentes, mas tive várias versões deste framework em produção desde 2007.
Para os céticos desta questão:
Na época em que a Microsoft inventou com IE5 o que agora conhecemos como XmlHttpRequest e o padrão "ajax", parte da promessa por trás disso era puramente trocar dados entre um navegador da web e o servidor. Esses dados deveriam ser encapsulados em XML, porque em 1999/2000, XML era simplesmente muito quente. Além de recuperar um documento xml pela rede com um mecanismo de retorno de chamada, o componente MSXML ActiveX da MS também ofereceu suporte a uma implementação de pré-projeto do que agora conhecemos como XSL-T e XPath.
Combinar a recuperação de HTTP / XML, XPath e XSL-T proporcionou aos desenvolvedores uma tremenda criatividade para construir "documentos" ricos que se comportavam como "aplicativos", simplesmente enviando e, mais importante, recuperando dados do servidor.
Por que este é um padrão útil? Depende da complexidade da interface do usuário e do quanto você se preocupa com sua capacidade de manutenção.
Ao construir uma interface visualmente muito rica semanticamente marcada com CSS avançado, a última coisa que você quer fazer é dividir pedaços de marcação em "mini-controlador / visualizações", apenas para que você possa .innerHTML um fragmento de documento no principal documento e aqui está o porquê.
Um princípio fundamental para manter gerenciável uma interface de usuário html / css avançada é preservar sua validação pelo menos durante sua fase ativa de desenvolvimento. Se sua marcação for validada, você pode se concentrar nos bugs CSS. Agora, se fragmentos de marcação acabam sendo injetados durante vários estágios de interação do usuário, tudo se torna muito difícil de gerenciar e tudo fica frágil.
A ideia era ter todas as suas construções de IU de marcação em um único documento, recuperar SOMENTE DADOS pela rede e usar uma estrutura sólida que, no mínimo, injetará seus dados em suas construções de marcação e, no máximo, replicará as construções de marcação que você sinalizou como repetível.
Isso era possível com XSL-T e XPath no IE5 +, mas virtualmente nenhum outro navegador. Algumas estruturas de navegador F / OSS têm se aventurado com XPath, mas ainda não é algo em que possamos confiar.
Então, qual é a próxima melhor coisa para atingir esse padrão? IBDOM. Obtenha dados do seu servidor, injete-os no seu documento. sem esforço.
Você deve dar uma olhada em Javascript-Templates, este é um pequeno mecanismo de template usado dentro do famoso plugin jQuery File Upload, e desenvolvido pelo mesmo autor, Sebastian Tschan (@blueimp)
https://github.com/blueimp/JavaScript-Templates
Siga o guia de uso feito por Sebastian, basta retirar esta linha
document.getElementById("result").innerHTML = tmpl("tmpl-demo", data);
Substitua por este
$('#result').html(tmpl('tmpl-demo', data));
Não se esqueça de adicionar a tag de resultado div em seu arquivo HTML também
<div id="result"></div>
Aproveitar