Valores y expresiones#

Muchas propiedades MD contienen expresiones. Las citas XML delimitan el atributo, mientras que las citas simples internas hacen literal una cadena MD. Las listas y tablas tienen diferentes patrones de acceso: $Items.{1} lee una posición de la lista; $ByID.{$Key} lee una llave de la mesa con nombre.

XML
<set_value name="$Label" exact="'Hello, X4'" />
<set_value name="$Count" exact="3" />
<set_value name="$Ready" exact="false" />
<set_value name="$Items" exact="[]" />
<set_value name="$ByID" exact="table[]" />

Validar la forma de la solicitud#

El ejemplo comprueba la carga útil entrante de la UI dentro de su controlador. Una longitud correcta de lista no prueba los tipos de elementos. Validar el texto y cambiar el valor antes de aplicar una configuración.

XML
<do_if value="typeof $Payload == datatype.list and $Payload.count == 2">
  <set_value name="$Label" exact="$Payload.{1}" />
  <set_value name="$Enabled" exact="$Payload.{2}" />
</do_if>

Existencia y alcance#

not $Records? comprueba la existencia variable. .exists. Una referencia de referencia como Init.$Records selecciona explícitamente el contexto. Falso, una lista vacía y una variable que falta son estados distintos; no sustituya una verificación de contenido para la existencia.

Elegir explícitamente la propiedad variable#

No asumas $Value y this.$Value siempre se refiere al mismo almacenamiento: $Value resuelve a través del espacio de nombres. Elija un namespace="this" por ejemplo, datos del controlador local; almacenar estado compartido en un contexto explícitamente elegido.

Comparar dos peticiones consecutivas: ¿cambia el campo previsto y la primera se filtra en el segundo? Ver Bibliotecas MD para un cue reutilizable parametrizado.