Simple Underscore Template

by Adrien Joly

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js"></script>

JavaScript

// TP P - Exercice 1
function bonjour(pChaine) {
  var monTemplate = '<p>Bonjour, <%= trou %> !</p>';
  return _.template(monTemplate, {
    trou: pChaine
  });
}
document.body.innerHTML = bonjour('coco');

// TP P - Exercice 2
function doubler(pNombre) {
  var monTemplate = '2 * <%= nombre %> = <%= resultat %>';
  return _.template(monTemplate, {
    nombre: pNombre,
    resultat: 2 * pNombre
  });
}
document.body.innerHTML = doubler(4);

// TP P - Exercice 3
function people(pNombre) {
  if (pNombre == 1) {
    var mot = 'personne';
  } else {
    var mot = 'personnes';
  }
  var monTemplate = '<%= nb %> <%= pers %>';
  return _.template(monTemplate, {
    nb: pNombre,
    pers: mot
  });
}
document.body.innerHTML = people(1);

// (variante 2)
function people(pNombre) {
  if (pNombre == 1) {
	  var monTemplate = '<%= nb %> personne';
  } else {
    var monTemplate = '<%= nb %> personnes';
  }
  return _.template(monTemplate, {
    nb: pNombre
  });
}
document.body.innerHTML = people(3);

// (variante 3)
function people(pNombre) {
  var monTemplate = '<%= nb %> personne<%= s %>';
  return _.template(monTemplate, {
    nb: pNombre,
    s: pNombre == 1 ? '' : 's'
  });
}
document.body.innerHTML = people(1);