Scurtături ale stării: INC, TOGGLE, NUL, UPDATE, UNWATCH, WAIT, BLOCKED și CACHEPATH
Aceste funcții lucrează cu starea jComponent prin cale ('user.visits'), ca SET() și GET(), și fiecare dintre ele notifică componentele și observatorii căii.
INC(path, [value])adaugăvalue(implicit1) la un număr; când valoarea e goală pornește de la0, iar când e un text este citit mai întâi ca număr.TOGGLE(path)schimbă un boolean (o valoare goală devinetrue).NUL(path)și aliasul săuNULL(path)setează valoarea lanull.UPDATE(path)(aliasUPD) notifică pe toți cei care folosesc calea fără a schimba valoarea: folosește-l după ce ai modificat un obiect sau un array pe loc.UNWATCH(path, [fn])elimină observatorii căii creați cuWATCH(); cufn, doar pe acela.WAIT(fn or path, callback)ruleazăcallbackimediat ce funcția returnează ceva adevărat sau calea are o valoare. Verifică imediat și apoi la fiecare 500 ms.BLOCKED(key, timeout, [callback])returneazăfalseprima dată șitruepentru următoareletimeoutms (merge și'5 seconds'): este o protecție împotriva unui dublu clic sau a unei cereri repetate.callbackrulează doar când nu este blocat.CACHEPATH(path, expire, [default])păstrează o valoare a stării în cache (CACHE()): setează calea la valoarea din cache când există (sau ladefault, care poate fi o funcție) și salvează fiecare schimbare sub cheiapath_path.- O cale este o cale în starea paginii, deci un nume precum
namesaulocationeste o proprietate a luiwindow: folosește nume proprii (person,prefs.mode). setTimeout2(id, fn, ms, [limit], [param])este unsetTimeout()cu debounce: apelul din nou cu acelașiidrepornește temporizatorul, decifnrulează o dată, lamsdupă ultimul apel. Culimit, temporizatorul este repornit de cel mult atâtea ori, iar apelurile următoare sunt ignorate până cândfna rulat, așa că un șir de apeluri nu îl poate amâna la nesfârșit.clearTimeout2(id)îl anulează și returneazătruecând exista unul.CLONE(value)face o copie profundă (datele rămân date),COPY(from, to)copiază în profunzime proprietățile unui obiect în altul și returneazăto.NOOPeste o funcție care nu face nimic, iarWARN(...)scrie înconsole.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> Încearcă în browserul tău
Editează exemplul și rulează-l. Rulează într-un cadru izolat din browserul tău; nimic nu este trimis către serverul nostru.
Previzualizare