Komponensek és pluginok bővítése EXTENSION-nel
Az EXTENSION(name, config, callback) kódot ad a name komponens (vagy a @name plugin) minden példányához a létrehozásakor. A callback megkapja a példányt és a config-ját, pontosan mint egy deklaráció, így hozzáadhatsz metódusokat, módosíthatsz opciókat vagy eseményeket figyelhetsz. Így szabja testre egy alkalmazás a harmadik féltől származó komponenseket forkolás nélkül.
<!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> Próbáld ki a böngésződben
Szerkeszd a példát, és futtasd. A böngésződ egy izolált keretében fut; semmi nem kerül a szerverünkre.
Előnézet