Crowl.js gebruiken: eenvoudig voorbeeld
Je kan Crowl.js eenvoudig integreren in je eigen webpagina.
<script src="https://www.schoolvoorbeeld.be/crowl/crowl.template.engine.js"></script>
Nu kan je een Crowl-applicatie aanmaken in je pagina.
<script>
var myApp = new Crowl;
myApp.ReadTemplates(function(){
//... hier komt jouw code
});
</script>
Nu is het tijd om een eigen sjabloon toe te voegen aan je pagina. Hiervoor voeg je een script-tag toe aan je pagina met als type "text/CrowlTemplate". Geef elk sjabloon een uniek id. In dit geval geven we het sjabloon de id "NieuweKrant".
<script type="text/CrowlTemplate" id="NieuweKrant"> </script>
In dit voorbeeld houden we het eenvoudig. We maken een sjabloon voor krantenartikels.
<script type="text/CrowlTemplate" id="NieuweKrant">
<article>
<h3><%this.krantenkop%></h3>
<div><%this.inhoud%></div>
</article>
</script>
Je kan het sjabloon nu gebruiken en vullen met inhoud.
<script>
var myApp = new Crowl;
myApp.ReadTemplates(function(){
myApp.template("#NieuweKrant", {
id: "DeGazet",
krantenkop: "Sinterklaas komt om bij zwaar verkeersongeval",
inhoud: "Gisterenavond kwam de Sint onder een vrachtwagen terecht..."
}, "#krant:append");
});
</script>
- Een template-instructie verwacht minimaal 3 parameters:
- De id van het sjabloon.
- Een array met waardes die je in het sjabloon wil weergeven.
- Een callback-functie.
Het element in de pagina waarin je het gerenderde sjabloon (aan het "body"-element of een id vb. "#waardekrantmoetkomen") wil plakken. Eventueel gevolgd door ":append" of ":replace". Bij "replace" wordt de bestaande inhoud van het geselecteerde element vervangen. Bij "append" of "paste" wordt de nieuwe inhoud aan het geselecteerde element toegevoegd.
We plakken het gerenderde sjabloon in het element met id="krant".
<div id="krant"></div>
Sjabloon in een extern bestand
Het is ook mogelijk om zowel het sjabloon als de weer te geven inhoud in te lezen uit een extern bestand. Je kan het sjabloon bewaren in een extern bestand.
<script type="text/CrowlExternalTemplate" id="NieuweKrant" src="krant.html"></script>