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