« Mustache » : différence entre les versions
De Banane Atomic
Aller à la navigationAller à la recherche
(→Links) |
|||
Ligne 4 : | Ligne 4 : | ||
* [https://github.com/janl/mustache.js/ Doc] | * [https://github.com/janl/mustache.js/ Doc] | ||
= | = [https://github.com/janl/mustache.js/#include-templates Include template]= | ||
<kode lang='html'> | <kode lang='html'> | ||
<script type="x-tmpl-mustache" | <script id="template" type="x-tmpl-mustache"> | ||
Hello {{ name }}! | |||
</script> | </script> | ||
<script> | <script> | ||
$(() => { | $(() => { | ||
const template = $("#template").html(); | const template = $("#template").html(); | ||
const rendered = Mustache.render(template, | const rendered = Mustache.render(template, { name: 'Nico' }); | ||
}); | }); | ||
</script> | </script> |
Version du 28 janvier 2021 à 17:27
Links
Include template
<script id="template" type="x-tmpl-mustache"> Hello {{ name }}! </script> <script> $(() => { const template = $("#template").html(); const rendered = Mustache.render(template, { name: 'Nico' }); }); </script> |
Doesn't handle dots in property name
// a solution could be to replace the dots in property names (it uses lodash) function replaceDotWithUnderscore(obj) { _.forOwn(obj, (value, key) => { if (_.includes(key, '.')) { const cleanKey = _.replace(key, /\./g, '_'); obj[cleanKey] = value; delete obj[key]; } // recursive call if the value is an object or an array if (_.isObject(value)) { return replaceDotWithUnderscore(value); } }); return obj; } |