13/01/2011 Development / java script

No projeto que eu estou trabalhando atualmente, a idéia é deixar todos os templates previamente formatados para apenas receber um bloco de Json, que fará a inject no html.

Pensei em usar o jquery Template ou o jsTemplate do Google. Mas foi ai que eu comecei a pensar em como ficaria uma implementação simples usando expressão regular. O resultado é script abaixo.

    var json = { Nome : 'Felipe Huggler', idade : '27', cidade : 'Curitiba'};
    var html = "
  • @{Nome}
  • @{idade}
  • @{cidade}
"; var View = { inject: function(json, template) { var pattern = /\@\{(\w*)\}/g; var html = template.replace(pattern, function(key) { return json[key.slice(2, -1)]; }) return html; } }; alert(View.inject(json, html));