ForgejComponent
sv

jComponent

Genvägar för tillstånd: INC, TOGGLE, NUL, UPDATE, UNWATCH, WAIT, BLOCKED och CACHEPATH

jComponent 20 · jcomponent@20 jcomponentfrontendstateutilities Körd med jComponent 20

De här funktionerna arbetar med jComponents tillstånd via sökväg ('user.visits'), som SET() och GET(), och var och en av dem meddelar komponenterna och bevakarna av sökvägen.

  • INC(path, [value]) lägger till value (standard 1) till ett tal; när värdet är tomt börjar det från 0 och när det är en text läses den först som ett tal.
  • TOGGLE(path) ändrar en boolean (ett tomt värde blir true). NUL(path) och dess alias NULL(path) sätter värdet till null.
  • UPDATE(path) (alias UPD) meddelar alla som använder sökvägen utan att ändra värdet: använd det efter att du ändrat ett objekt eller en array på plats.
  • UNWATCH(path, [fn]) tar bort sökvägens bevakare som skapats med WATCH(); med fn bara den.
  • WAIT(fn or path, callback) kör callback så fort funktionen returnerar något sant, eller sökvägen har ett värde. Den kontrollerar direkt och sedan var 500:e ms.
  • BLOCKED(key, timeout, [callback]) returnerar false första gången och true under de följande timeout ms ('5 seconds' fungerar också): det är ett skydd mot dubbelklick eller en upprepad förfrågan. callback körs bara när det inte är blockerat.
  • CACHEPATH(path, expire, [default]) håller ett värde i tillståndet i cachen (CACHE()): den sätter sökvägen till det cachade värdet när det finns ett (eller till default, som kan vara en funktion) och sparar varje ändring under nyckeln path_path.
  • En sökväg är en sökväg i sidans tillstånd, så ett namn som name eller location är en egenskap hos window: använd egna namn (person, prefs.mode).
  • setTimeout2(id, fn, ms, [limit], [param]) är en debouncad setTimeout(): att anropa den igen med samma id startar om timern, så fn körs en gång, ms efter det sista anropet. Med limit startas timern om högst så många gånger och de följande anropen ignoreras tills fn har körts, så en ström av anrop kan inte skjuta upp den för evigt. clearTimeout2(id) avbryter den och returnerar true när det fanns en.
  • CLONE(value) gör en djup kopia (datum förblir datum), COPY(from, to) kopierar egenskaperna från ett objekt till ett annat på djupet och returnerar to. NOOP är en funktion som inte gör något och WARN(...) skriver till 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>
Prova det i din webbläsare

Redigera exemplet och kör det. Det körs i en isolerad ram i din webbläsare; ingenting skickas till vår server.

Förhandsvisning