ForgejComponent
pl

jComponent

Skróty stanu: INC, TOGGLE, NUL, UPDATE, UNWATCH, WAIT, BLOCKED i CACHEPATH

jComponent 20 · jcomponent@20 jcomponentfrontendstateutilities Uruchomiono z jComponent 20

Te funkcje działają na stanie jComponent według ścieżki ('user.visits'), jak SET() i GET(), a każda z nich powiadamia komponenty i obserwatorów ścieżki.

  • INC(path, [value]) dodaje value (domyślnie 1) do liczby; gdy wartość jest pusta, zaczyna od 0, a gdy jest tekstem, najpierw jest odczytywana jako liczba.
  • TOGGLE(path) zmienia wartość logiczną (pusta wartość staje się true). NUL(path) i jego alias NULL(path) ustawiają wartość na null.
  • UPDATE(path) (alias UPD) powiadamia wszystkich, którzy używają ścieżki, bez zmiany wartości: użyj go po zmodyfikowaniu obiektu lub tablicy w miejscu.
  • UNWATCH(path, [fn]) usuwa obserwatorów ścieżki utworzonych przez WATCH(); z fn tylko tego jednego.
  • WAIT(fn or path, callback) uruchamia callback, gdy tylko funkcja zwróci coś prawdziwego lub ścieżka ma wartość. Sprawdza od razu, a potem co 500 ms.
  • BLOCKED(key, timeout, [callback]) zwraca false za pierwszym razem i true przez następne timeout ms (działa też '5 seconds'): to ochrona przed podwójnym kliknięciem lub powtórzonym żądaniem. callback uruchamia się tylko wtedy, gdy nie jest zablokowane.
  • CACHEPATH(path, expire, [default]) trzyma wartość stanu w cache (CACHE()): ustawia ścieżkę na wartość z cache, jeśli jest (lub na default, które może być funkcją), i zapisuje każdą zmianę pod kluczem path_path.
  • Ścieżka to ścieżka w stanie strony, więc nazwa taka jak name czy location jest właściwością window: używaj własnych nazw (person, prefs.mode).
  • setTimeout2(id, fn, ms, [limit], [param]) to setTimeout() z debounce: ponowne wywołanie z tym samym id restartuje licznik, więc fn uruchamia się raz, ms po ostatnim wywołaniu. Z limit licznik jest restartowany co najwyżej tyle razy, a kolejne wywołania są ignorowane, dopóki fn się nie uruchomi, więc strumień wywołań nie może go odkładać w nieskończoność. clearTimeout2(id) go anuluje i zwraca true, gdy jakiś był.
  • CLONE(value) robi głęboką kopię (daty pozostają datami), COPY(from, to) głęboko kopiuje właściwości jednego obiektu do drugiego i zwraca to. NOOP to funkcja, która nic nie robi, a WARN(...) pisze 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>
Wypróbuj w przeglądarce

Edytuj przykład i uruchom go. Działa w izolowanej ramce w Twojej przeglądarce; nic nie jest wysyłane na nasz serwer.

Podgląd