Zustands-Kurzbefehle: INC, TOGGLE, NUL, UPDATE, UNWATCH, WAIT, BLOCKED und CACHEPATH
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])addiertvalue(Standard1) zu einer Zahl; ist der Wert leer, beginnt sie bei0, und ein Text wird zuerst als Zahl gelesen.TOGGLE(path)ändert einen Boolean (ein leerer Wert wirdtrue).NUL(path)und sein AliasNULL(path)setzen den Wert aufnull.UPDATE(path)(AliasUPD) 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 mitWATCH()erstellten Beobachter des Pfads; mitfnnur diesen einen.WAIT(fn or path, callback)führtcallbackaus, 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 Malfalsezurück und für die nächstentimeoutmstrue(auch'5 seconds'funktioniert): Es ist ein Schutz gegen einen Doppelklick oder eine wiederholte Anfrage. Dercallbacklä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 aufdefault, das eine Funktion sein kann), und speichert jede Änderung unter dem Schlüsselpath_path.- Ein Pfad ist ein Pfad im Zustand der Seite, daher ist ein Name wie
nameoderlocationeine Eigenschaft vonwindow: Verwende eigene Namen (person,prefs.mode). setTimeout2(id, fn, ms, [limit], [param])ist ein entprelltessetTimeout(): Ein erneuter Aufruf mit derselbenidstartet den Timer neu, sodassfneinmal läuft,msnach dem letzten Aufruf. Mitlimitwird der Timer höchstens so oft neu gestartet, und die folgenden Aufrufe werden ignoriert, bisfngelaufen ist, sodass ein Strom von Aufrufen ihn nicht ewig verschieben kann.clearTimeout2(id)bricht ihn ab und gibttruezurü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 gibttozurück.NOOPist eine Funktion, die nichts tut, undWARN(...)schreibt inconsole.warn.
<!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