ForgejComponent
hu

jComponent

Állapot-parancsikonok: INC, TOGGLE, NUL, UPDATE, UNWATCH, WAIT, BLOCKED és CACHEPATH

jComponent 20 · jcomponent@20 jcomponentfrontendstateutilities Futtatva a jComponent 20-szal

Ezek a függvények a jComponent állapotával dolgoznak útvonal ('user.visits') szerint, mint a SET() és a GET(), és mindegyik értesíti az útvonal komponenseit és megfigyelőit.

  • Az INC(path, [value]) hozzáadja a value értéket (alapértelmezés 1) egy számhoz; ha az érték üres, 0-ról indul, ha szöveg, előbb számként olvassa be.
  • A TOGGLE(path) megváltoztat egy booleant (az üres érték true lesz). A NUL(path) és az NULL(path) álneve null értékre állítja.
  • Az UPDATE(path) (álnév UPD) értesít mindenkit, aki az útvonalat használja, az érték megváltoztatása nélkül: használd, miután egy objektumot vagy tömböt helyben módosítottál.
  • Az UNWATCH(path, [fn]) eltávolítja az útvonal WATCH() hívással létrehozott megfigyelőit; fn esetén csak azt az egyet.
  • A WAIT(fn or path, callback) lefuttatja a callback függvényt, amint a függvény igaz értéket ad vissza, vagy az útvonalnak van értéke. Azonnal ellenőriz, majd 500 ms-onként.
  • A BLOCKED(key, timeout, [callback]) először false értéket ad, majd a következő timeout ms-ig true értéket (a '5 seconds' is működik): védelem a dupla kattintás vagy az ismételt kérés ellen. A callback csak akkor fut, ha nincs blokkolva.
  • A CACHEPATH(path, expire, [default]) az állapot egy értékét a gyorsítótárban (CACHE()) tartja: az útvonalat a gyorsítótárazott értékre állítja, ha van (vagy a default értékre, amely lehet függvény), és minden változást a path_path kulcs alatt ment.
  • Az útvonal az oldal állapotában lévő útvonal, így egy olyan név, mint a name vagy a location, a window tulajdonsága: használj saját neveket (person, prefs.mode).
  • A setTimeout2(id, fn, ms, [limit], [param]) egy debounce-olt setTimeout(): ugyanazzal az id értékkel újra hívva újraindítja az időzítőt, így az fn egyszer fut le, az utolsó hívás után ms-sel. limit esetén az időzítő legfeljebb ennyiszer indul újra, és a következő hívások figyelmen kívül maradnak, amíg az fn le nem futott, így a hívások folyama nem halaszthatja örökre. A clearTimeout2(id) megszünteti, és true értéket ad, ha volt ilyen.
  • A CLONE(value) mély másolatot készít (a dátumok dátumok maradnak), a COPY(from, to) mélyen átmásolja az egyik objektum tulajdonságait a másikba, és to értéket ad vissza. A NOOP egy semmit sem csináló függvény, a WARN(...) pedig a console.warn felületre ír.
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>
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