Állapot-parancsikonok: INC, TOGGLE, NUL, UPDATE, UNWATCH, WAIT, BLOCKED és CACHEPATH
Ezek a függvények a jComponent állapotával dolgoznak útvonal ('user.visits') szerint, mint a SET() és a GET(), és mindegyik értesíti az útvonal komponenseit és megfigyelőit.
- Az
INC(path, [value])hozzáadja avalueértéket (alapértelmezés1) egy számhoz; ha az érték üres,0-ról indul, ha szöveg, előbb számként olvassa be. - A
TOGGLE(path)megváltoztat egy booleant (az üres értéktruelesz). ANUL(path)és azNULL(path)álnevenullértékre állítja. - Az
UPDATE(path)(álnévUPD) értesít mindenkit, aki az útvonalat használja, az érték megváltoztatása nélkül: használd, miután egy objektumot vagy tömböt helyben módosítottál. - Az
UNWATCH(path, [fn])eltávolítja az útvonalWATCH()hívással létrehozott megfigyelőit;fnesetén csak azt az egyet. - A
WAIT(fn or path, callback)lefuttatja acallbackfüggvényt, amint a függvény igaz értéket ad vissza, vagy az útvonalnak van értéke. Azonnal ellenőriz, majd 500 ms-onként. - A
BLOCKED(key, timeout, [callback])előszörfalseértéket ad, majd a következőtimeoutms-igtrueértéket (a'5 seconds'is működik): védelem a dupla kattintás vagy az ismételt kérés ellen. Acallbackcsak akkor fut, ha nincs blokkolva. - A
CACHEPATH(path, expire, [default])az állapot egy értékét a gyorsítótárban (CACHE()) tartja: az útvonalat a gyorsítótárazott értékre állítja, ha van (vagy adefaultértékre, amely lehet függvény), és minden változást apath_pathkulcs alatt ment. - Az útvonal az oldal állapotában lévő útvonal, így egy olyan név, mint a
namevagy alocation, awindowtulajdonsága: használj saját neveket (person,prefs.mode). - A
setTimeout2(id, fn, ms, [limit], [param])egy debounce-oltsetTimeout(): ugyanazzal azidértékkel újra hívva újraindítja az időzítőt, így azfnegyszer fut le, az utolsó hívás utánms-sel.limitesetén az időzítő legfeljebb ennyiszer indul újra, és a következő hívások figyelmen kívül maradnak, amíg azfnle nem futott, így a hívások folyama nem halaszthatja örökre. AclearTimeout2(id)megszünteti, éstrueértéket ad, ha volt ilyen. - A
CLONE(value)mély másolatot készít (a dátumok dátumok maradnak), aCOPY(from, to)mélyen átmásolja az egyik objektum tulajdonságait a másikba, éstoértéket ad vissza. ANOOPegy semmit sem csináló függvény, aWARN(...)pedig aconsole.warnfelületre ír.
<!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> Próbáld ki a böngésződben
Szerkeszd a példát, és futtasd. A böngésződ egy izolált keretében fut; semmi nem kerül a szerverünkre.
Előnézet