Étendre des composants et des plugins avec EXTENSION
EXTENSION(name, config, callback) ajoute du code à chaque instance du composant name (ou du plugin @name) lors de sa création. Le callback reçoit l'instance et sa config, exactement comme une déclaration : vous pouvez donc ajouter des méthodes, modifier des options ou écouter des événements. C'est ainsi qu'une application personnalise des composants tiers sans les forker.
<!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="label" config="text:Hello"></ui-component>
<script>
COMPONENT('label', 'text:', function(self, config) {
self.make = function() {
self.html('<span></span>');
self.find('span').text(config.text);
};
});
EXTENSION('label', 'suffix:!', function(self, config) {
self.shout = function() {
self.find('span').text(config.text.toUpperCase() + config.suffix);
};
self.extended = true;
});
</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