ForgejComponent
sk

jComponent

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

jComponent 20 · jcomponent@20 jcomponentfrontendstateutilities Spustené s jComponent 20

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číta value (predvolene 1) k číslu; keď je hodnota prázdna, začne od 0, a keď je to text, najprv sa prečíta ako číslo.
  • TOGGLE(path) zmení boolean (prázdna hodnota sa stane true). NUL(path) a jeho alias NULL(path) nastavia hodnotu na null.
  • UPDATE(path) (alias UPD) 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é cez WATCH(); s fn iba 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áti false prvýkrát a true počas ďalších timeout ms (funguje aj '5 seconds'): je to ochrana pred dvojitým kliknutím alebo opakovanou požiadavkou. callback sa 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 na default, 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 name alebo location je vlastnosť window: používajte vlastné názvy (person, prefs.mode).
  • setTimeout2(id, fn, ms, [limit], [param]) je setTimeout() s debounce: opätovné zavolanie s rovnakým id reštartuje časovač, takže fn sa spustí raz, ms po poslednom volaní. S limit sa časovač reštartuje najviac toľkokrát a ďalšie volania sa ignorujú, kým fn nebeží, takže prúd volaní ho nemôže odkladať donekonečna. clearTimeout2(id) ho zruší a vráti true, 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áti to. NOOP je funkcia, ktorá nerobí nič, 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>
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