# Despache flags de caminho personalizados com FLAGS

> Execute flags personalizados, observe os seus eventos e distinga-os das alterações do modelo e dos flags de estado reservados.

Framework: jcomponent20
Product: jComponent 20 (jcomponent@20)
Language: pt
Content-SHA256: 84ac8fee635edc4cffcdb903014e6447ab2c73083f95779b3261981d1403c76c
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: jcomponent20@3fedd009a277f50fddc608b97afbec553b67c51b
Review: not-recorded

`FLAGS('path @name', callback)` interpreta um caminho do jComponent, emite `@flag name` com o caminho interpretado e invoca o callback. Registe o listener com `ON('@flag name', function(path) { ... })`. Vários flags personalizados distintos emitem eventos separados; repetir um nome na mesma expressão emite-o uma vez. Neste exemplo, a execução e o callback são síncronos.

O caminho interpretado é o argumento do evento. Um valor como `@refresh:yes` continua a selecionar o flag chamado `refresh`; o valor não é passado como segundo argumento do evento. Os flags reservados como `@reset` ficam excluídos destes eventos personalizados. Chamar `FLAGS()` sozinho não chama `SET()` nem repõe o estado dos componentes: as operações de estado interpretam os seus próprios flags. Use nomes de flag específicos da aplicação para evitar colisões.

```html public/index.html
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>Custom flags</title>
<script src="//cdn.componentator.com/spa.min@20.js"></script></head>
<body><p>Dispatch a custom refresh notification without modifying the model.</p></body></html>
```
