Skratky stavu: INC, TOGGLE, NUL, UPDATE, UNWATCH, WAIT, BLOCKED a CACHEPATH
Tieto funkcie pracujú so stavom jComponent podľa cesty ('user.visits'), ako SET() a GET(), a každá z nich upozorní komponenty a sledovače cesty.
INC(path, [value])pripočítavalue(predvolene1) k číslu; keď je hodnota prázdna, začne od0, a keď je to text, najprv sa prečíta ako číslo.TOGGLE(path)zmení boolean (prázdna hodnota sa stanetrue).NUL(path)a jeho aliasNULL(path)nastavia hodnotu nanull.UPDATE(path)(aliasUPD) upozorní všetkých, ktorí cestu používajú, bez zmeny hodnoty: použite ho po úprave objektu alebo poľa na mieste.UNWATCH(path, [fn])odstráni sledovače cesty vytvorené cezWATCH(); sfniba ten jeden.WAIT(fn or path, callback)spustícallback, hneď ako funkcia vráti niečo pravdivé, alebo cesta má hodnotu. Skontroluje hneď a potom každých 500 ms.BLOCKED(key, timeout, [callback])vrátifalseprvýkrát atruepočas ďalšíchtimeoutms (funguje aj'5 seconds'): je to ochrana pred dvojitým kliknutím alebo opakovanou požiadavkou.callbacksa spustí iba vtedy, keď nie je zablokované.CACHEPATH(path, expire, [default])uchováva hodnotu stavu v cache (CACHE()): nastaví cestu na uloženú hodnotu, ak existuje (alebo nadefault, ktorý môže byť funkcia), a každú zmenu ukladá pod kľúčpath_path.- Cesta je cesta v stave stránky, takže názov ako
namealebolocationje vlastnosťwindow: používajte vlastné názvy (person,prefs.mode). setTimeout2(id, fn, ms, [limit], [param])jesetTimeout()s debounce: opätovné zavolanie s rovnakýmidreštartuje časovač, takžefnsa spustí raz,mspo poslednom volaní. Slimitsa časovač reštartuje najviac toľkokrát a ďalšie volania sa ignorujú, kýmfnnebeží, takže prúd volaní ho nemôže odkladať donekonečna.clearTimeout2(id)ho zruší a vrátitrue, keď nejaký bol.CLONE(value)vytvorí hlbokú kópiu (dátumy zostanú dátumami),COPY(from, to)hlboko skopíruje vlastnosti jedného objektu do druhého a vrátito.NOOPje funkcia, ktorá nerobí nič, aWARN(...)píše doconsole.warn.
<!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>
<p class="out"></p>
<script>
window.sample = { watched: 0 };
</script>
</body>
</html> Vyskúšajte to vo svojom prehliadači
Upravte príklad a spustite ho. Beží v izolovanom ráme vo vašom prehliadači; na náš server sa nič neposiela.
Náhľad