# Despacha flags de ruta personalizados con FLAGS

> Ejecuta flags personalizados, observa sus eventos y distínguelos de los cambios del modelo y de los flags de estado reservados.

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

`FLAGS('path @name', callback)` interpreta una ruta de jComponent, emite `@flag name` con la ruta interpretada e invoca el callback. Registra el listener con `ON('@flag name', function(path) { ... })`. Varios flags personalizados distintos emiten eventos separados; repetir un nombre en la misma expresión lo emite una vez. En este ejemplo, la ejecución y el callback son síncronos.

La ruta interpretada es el argumento del evento. Un valor como `@refresh:yes` sigue seleccionando el flag llamado `refresh`; el valor no se pasa como segundo argumento del evento. Los flags reservados como `@reset` quedan fuera de estos eventos personalizados. Llamar a `FLAGS()` solo no llama a `SET()` ni reinicia el estado de los componentes: las operaciones de estado interpretan sus propios flags. Usa nombres de flag específicos de tu aplicación para evitar colisiones.

```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>
```
