ForgejComponent
cs

jComponent

Zkratky stavu: INC, TOGGLE, NUL, UPDATE, UNWATCH, WAIT, BLOCKED a CACHEPATH

jComponent 20 · jcomponent@20 jcomponentfrontendstateutilities Spuštěno s jComponent 20

Tyto funkce pracují se stavem jComponent podle cesty ('user.visits'), jako SET() a GET(), a každá z nich upozorní komponenty a sledovače cesty.

  • INC(path, [value]) přičte value (výchozí 1) k číslu; když je hodnota prázdná, začne od 0, a když je to text, nejprve se přečte jako číslo.
  • TOGGLE(path) změní boolean (prázdná hodnota se stane true). NUL(path) a jeho alias NULL(path) nastaví hodnotu na null.
  • UPDATE(path) (alias UPD) upozorní všechny, kdo cestu používají, bez změny hodnoty: použijte jej po úpravě objektu nebo pole na místě.
  • UNWATCH(path, [fn]) odstraní sledovače cesty vytvořené přes WATCH(); s fn pouze ten jeden.
  • WAIT(fn or path, callback) spustí callback, jakmile funkce vrátí něco pravdivého, nebo cesta má hodnotu. Zkontroluje hned a pak každých 500 ms.
  • BLOCKED(key, timeout, [callback]) vrátí false poprvé a true po dalších timeout ms (funguje i '5 seconds'): je to ochrana proti dvojitému kliknutí nebo opakovanému požadavku. callback se spustí pouze tehdy, když není zablokováno.
  • CACHEPATH(path, expire, [default]) uchovává hodnotu stavu v cache (CACHE()): nastaví cestu na uloženou hodnotu, pokud existuje (nebo na default, který může být funkce), a každou změnu ukládá pod klíč path_path.
  • Cesta je cesta ve stavu stránky, takže název jako name nebo location je vlastnost window: používejte vlastní názvy (person, prefs.mode).
  • setTimeout2(id, fn, ms, [limit], [param]) je setTimeout() s debounce: opětovné zavolání se stejným id restartuje časovač, takže fn se spustí jednou, ms po posledním volání. S limit se časovač restartuje nejvýše tolikrát a další volání se ignorují, dokud fn neběžel, takže proud volání jej nemůže odkládat donekonečna. clearTimeout2(id) jej zruší a vrátí true, když nějaký byl.
  • CLONE(value) vytvoří hlubokou kopii (data zůstanou daty), COPY(from, to) hluboce zkopíruje vlastnosti jednoho objektu do druhého a vrátí to. NOOP je funkce, která nedělá nic, a WARN(...) píše do console.warn.
public/index.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>
	<p class="out"></p>
	<script>

		window.sample = { watched: 0 };

	</script>
</body>
</html>
Vyzkoušejte to ve svém prohlížeči

Upravte příklad a spusťte ho. Běží v izolovaném rámu ve vašem prohlížeči; na náš server se nic neposílá.

Náhled