Atalhos do estado: INC, TOGGLE, NUL, UPDATE, UNWATCH, WAIT, BLOCKED e CACHEPATH
Estas funções trabalham com o estado do jComponent por caminho ('user.visits'), como SET() e GET(), e todas elas notificam os componentes e os observadores do caminho.
INC(path, [value])somavalue(por omissão1) a um número; quando o valor está vazio começa em0e quando é um texto é lido primeiro como número.TOGGLE(path)altera um booleano (um valor vazio passa atrue).NUL(path)e o seu aliasNULL(path)põem o valor anull.UPDATE(path)(aliasUPD) notifica todos os que usam o caminho sem alterar o valor: use-o depois de modificar um objeto ou um array no próprio lugar.UNWATCH(path, [fn])remove os observadores do caminho criados comWATCH(); comfn, apenas esse.WAIT(fn or path, callback)executacallbackassim que a função devolve algo verdadeiro, ou o caminho tem um valor. Verifica logo e depois a cada 500 ms.BLOCKED(key, timeout, [callback])devolvefalseà primeira vez etruedurante ostimeoutms seguintes (também serve'5 seconds'): é uma proteção contra um duplo clique ou um pedido repetido. Ocallbacksó corre quando não está bloqueado.CACHEPATH(path, expire, [default])guarda um valor do estado na cache (CACHE()): põe o caminho no valor em cache quando existe (ou emdefault, que pode ser uma função) e guarda cada alteração sob a chavepath_path.- Um caminho é um caminho no estado da página, por isso um nome como
nameoulocationé uma propriedade dewindow: use nomes seus (person,prefs.mode). setTimeout2(id, fn, ms, [limit], [param])é umsetTimeout()com debounce: chamá-lo de novo com o mesmoidreinicia o temporizador, pelo quefncorre uma vez,msdepois da última chamada. Comlimito temporizador é reiniciado no máximo esse número de vezes e as chamadas seguintes são ignoradas atéfnter corrido, de modo que uma sequência de chamadas não o pode adiar para sempre.clearTimeout2(id)cancela-o e devolvetruequando havia um.CLONE(value)faz uma cópia profunda (as datas continuam datas),COPY(from, to)copia em profundidade as propriedades de um objeto para outro e devolveto.NOOPé uma função que não faz nada eWARN(...)escreve emconsole.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> Experimente no seu navegador
Edite o exemplo e execute-o. Corre numa moldura isolada do seu navegador; nada é enviado para o nosso servidor.
Pré-visualização