Genvägar för tillstånd: INC, TOGGLE, NUL, UPDATE, UNWATCH, WAIT, BLOCKED och CACHEPATH
De här funktionerna arbetar med jComponents tillstånd via sökväg ('user.visits'), som SET() och GET(), och var och en av dem meddelar komponenterna och bevakarna av sökvägen.
INC(path, [value])lägger tillvalue(standard1) till ett tal; när värdet är tomt börjar det från0och när det är en text läses den först som ett tal.TOGGLE(path)ändrar en boolean (ett tomt värde blirtrue).NUL(path)och dess aliasNULL(path)sätter värdet tillnull.UPDATE(path)(aliasUPD) meddelar alla som använder sökvägen utan att ändra värdet: använd det efter att du ändrat ett objekt eller en array på plats.UNWATCH(path, [fn])tar bort sökvägens bevakare som skapats medWATCH(); medfnbara den.WAIT(fn or path, callback)körcallbackså fort funktionen returnerar något sant, eller sökvägen har ett värde. Den kontrollerar direkt och sedan var 500:e ms.BLOCKED(key, timeout, [callback])returnerarfalseförsta gången ochtrueunder de följandetimeoutms ('5 seconds'fungerar också): det är ett skydd mot dubbelklick eller en upprepad förfrågan.callbackkörs bara när det inte är blockerat.CACHEPATH(path, expire, [default])håller ett värde i tillståndet i cachen (CACHE()): den sätter sökvägen till det cachade värdet när det finns ett (eller tilldefault, som kan vara en funktion) och sparar varje ändring under nyckelnpath_path.- En sökväg är en sökväg i sidans tillstånd, så ett namn som
nameellerlocationär en egenskap hoswindow: använd egna namn (person,prefs.mode). setTimeout2(id, fn, ms, [limit], [param])är en debouncadsetTimeout(): att anropa den igen med sammaidstartar om timern, såfnkörs en gång,msefter det sista anropet. Medlimitstartas timern om högst så många gånger och de följande anropen ignoreras tillsfnhar körts, så en ström av anrop kan inte skjuta upp den för evigt.clearTimeout2(id)avbryter den och returnerartruenär det fanns en.CLONE(value)gör en djup kopia (datum förblir datum),COPY(from, to)kopierar egenskaperna från ett objekt till ett annat på djupet och returnerarto.NOOPär en funktion som inte gör något ochWARN(...)skriver tillconsole.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> Prova det i din webbläsare
Redigera exemplet och kör det. Det körs i en isolerad ram i din webbläsare; ingenting skickas till vår server.
Förhandsvisning