2017-09-08 2 views
0

J'utilise hbs pour rendre mes pages avec des partiels pour la navigation et les pieds de page.site rendu hbs avec handlebars.js dans le script - nodejs

router.get('/test', function (req, res) { 
    return res.render('test'); 
}); 

Sur une page, j'ai un modèle qui utilise moustache.js. Ce modèle ne fonctionne pas comme il se doit car le {{}} semble être détecté sur le rendu hbs. Voici un exemple de base qui illustre l'erreur. Si je charge ceci en tant que page statique avec l'express j'obtiens "Joe est un Web Developer", si je le rends avec hbs j'obtiens "est un".

Y a-t-il des solutions de rechange qui ne m'impliquent pas de changer le rendu de toutes mes pages?

<!doctype html> 
<html lang="en"> 
    <head> 
    <title>Mustache.js Inline Method</title> 
    <script type="text/javascript" src="js/libs/mustache.js" ></script> 
    <script> 
    var view = { 
    name : "Joe", 
    occupation : "Web Developer" 
    }; 

    function loadtemp(){ 
     var output = Mustache.render("{{name}} is a {{occupation}}", view); 
    document.getElementById('person').innerHTML = output; 
    } 
    </script> 
</head> 
<body onload="loadtemp()" > 
<p id="person"></p> 
</body> 
</html> 

Répondre

0

C'était assez simple. Je devais échapper aux crochets avec un \ donc il a suffi

\{{name}} 
+0

support de travail? – turmuka

+0

oui, la parenthèse a travaillé avec le code javascript comme prévu – Alex17