Charger une bibliothèque avant qu'un composant démarre
Le quatrième argument de COMPONENT() est une liste de dépendances : des URL de scripts (.js) ou de styles (.css) dont le composant a besoin. jComponent télécharge chacune une seule fois, dans l'ordre, et crée le composant une fois qu'elles sont chargées, si bien que make() peut compter sur la présence de la bibliothèque. C'est la façon d'encapsuler une bibliothèque tierce dans un composant sans la charger sur les pages qui ne l'utilisent pas.
window.starslib = {
render: function(count) {
var html = '';
for (var i = 0; i < count; i++)
html += '<span class="star">*</span>';
return html;
}
};<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>jComponent</title>
<link rel="stylesheet" href="//cdn.componentator.com/spa.min@20.css" />
<script src="//cdn.componentator.com/spa.min@20.js"></script>
</head>
<body>
<ui-component name="stars" config="count:3"></ui-component>
<script>
COMPONENT('stars', 'count:5', function(self, config) {
self.make = function() {
// starslib.js was loaded before make()
self.html(window.starslib.render(config.count));
};
}, ['/js/starslib.js']);
</script>
</body>
</html> Essayez-le dans votre navigateur
Modifiez l'exemple et exécutez-le. Il s'exécute dans un cadre isolé de votre navigateur ; rien n'est envoyé à notre serveur.
Aperçu