ForgejComponent
de

jComponent

Zustands-Kurzbefehle: INC, TOGGLE, NUL, UPDATE, UNWATCH, WAIT, BLOCKED und CACHEPATH

jComponent 20 · jcomponent@20 jcomponentfrontendstateutilities Mit jComponent 20 ausgeführt

Diese Funktionen arbeiten über den Pfad ('user.visits') mit dem Zustand von jComponent, wie SET() und GET(), und jede von ihnen benachrichtigt die Komponenten und die Beobachter des Pfads.

  • INC(path, [value]) addiert value (Standard 1) zu einer Zahl; ist der Wert leer, beginnt sie bei 0, und ein Text wird zuerst als Zahl gelesen.
  • TOGGLE(path) ändert einen Boolean (ein leerer Wert wird true). NUL(path) und sein Alias NULL(path) setzen den Wert auf null.
  • UPDATE(path) (Alias UPD) benachrichtigt alle, die den Pfad verwenden, ohne den Wert zu ändern: Nutze es, nachdem du ein Objekt oder Array an Ort und Stelle verändert hast.
  • UNWATCH(path, [fn]) entfernt die mit WATCH() erstellten Beobachter des Pfads; mit fn nur diesen einen.
  • WAIT(fn or path, callback) führt callback aus, sobald die Funktion etwas Wahres zurückgibt oder der Pfad einen Wert hat. Es prüft sofort und danach alle 500 ms.
  • BLOCKED(key, timeout, [callback]) gibt beim ersten Mal false zurück und für die nächsten timeout ms true (auch '5 seconds' funktioniert): Es ist ein Schutz gegen einen Doppelklick oder eine wiederholte Anfrage. Der callback läuft nur, wenn nicht blockiert ist.
  • CACHEPATH(path, expire, [default]) hält einen Wert des Zustands im Cache (CACHE()): Es setzt den Pfad auf den gecachten Wert, falls vorhanden (oder auf default, das eine Funktion sein kann), und speichert jede Änderung unter dem Schlüssel path_path.
  • Ein Pfad ist ein Pfad im Zustand der Seite, daher ist ein Name wie name oder location eine Eigenschaft von window: Verwende eigene Namen (person, prefs.mode).
  • setTimeout2(id, fn, ms, [limit], [param]) ist ein entprelltes setTimeout(): Ein erneuter Aufruf mit derselben id startet den Timer neu, sodass fn einmal läuft, ms nach dem letzten Aufruf. Mit limit wird der Timer höchstens so oft neu gestartet, und die folgenden Aufrufe werden ignoriert, bis fn gelaufen ist, sodass ein Strom von Aufrufen ihn nicht ewig verschieben kann. clearTimeout2(id) bricht ihn ab und gibt true zurück, wenn es einen gab.
  • CLONE(value) erstellt eine tiefe Kopie (Daten bleiben Daten), COPY(from, to) kopiert die Eigenschaften eines Objekts tief in ein anderes und gibt to zurück. NOOP ist eine Funktion, die nichts tut, und WARN(...) schreibt in 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>
Probiere es in deinem Browser aus

Bearbeite das Beispiel und führe es aus. Es läuft in einem isolierten Frame in deinem Browser; nichts wird an unseren Server gesendet.

Vorschau