Sintaxis
PSBlazor es una sintaxis personalizada basada en Blazor y las páginas Razor. Es similar a XML o XAML y proporciona un mecanismo para definir de forma declarativa una interfaz de usuario.
Componentes
Cada componente se define con un nodo XML, como <Button> o <Text>. Cada componente tiene su propio conjunto de atributos que personalizan el comportamiento y el aspecto del widget. Algunos componentes admiten contenido secundario y pueden incluir componentes anidados.
Definir un componente
Para definir un componente, utilizará el editor de código de PSBlazor para añadir las etiquetas XML del componente. Por ejemplo, para crear un botón, haría lo siguiente.
<Button>Click Me</Button>El resultado es una página con un botón definido.

Establecer atributos
Todos los componentes tienen atributos disponibles. Dentro del editor de código de la página PSBlazor, los atributos se mostrarán automáticamente para el componente que esté editando.

Establecer atributos es igual que establecer cualquier atributo XML. Este ejemplo cambia el botón al estado de peligro.
Una vez que guarde la herramienta, se actualizará la visualización. Con el botón en estado de peligro, verá que ahora es rojo.

Contenido secundario
Algunos componentes ofrecen la posibilidad de definir contenido secundario. Puede utilizar el nodo <ChildContent> para especificar que es el caso.
Si no se especifica ningún otro nodo dentro del elemento secundario del componente, se asume que es contenido secundario. Lo anterior se puede simplificar así.
Algunos componentes proporcionan atributos de plantilla que se pueden establecer especificando varios nodos de contenido secundario con los nombres de nodo adecuados. Por ejemplo, la tabla puede tener contenido secundario formado por columnas y una plantilla de título que define cómo se muestra el título. Cuando se definen varios nodos secundarios, <ChildContent> es obligatorio.
PowerShell
Cada herramienta o componente de PSBlazor tiene un fichero PSM1 asociado que contiene la lógica interactiva. Esta lógica puede interactuar con módulos, invocar scripts en PSU o actualizar la interfaz según los datos procesados por el script.
Devoluciones de llamada de eventos
Las devoluciones de llamada de eventos se producen cuando el usuario interactúa con un componente de PSBlazor. Esto puede incluir clics del ratón, envíos de formularios o entradas de teclado. Las devoluciones de llamada de eventos son simplemente funciones de PowerShell. Lo siguiente podría utilizarse para cuando un usuario hace clic en un botón.
Argumentos
La mayoría de las devoluciones de llamada de eventos proporcionan un objeto que contiene información sobre el evento. Por ejemplo, los eventos de ratón incluyen información como las coordenadas del clic. Puede acceder a ellos proporcionando un parámetro $EventArgs.
Contexto
Algunos componentes son contextuales. Por ejemplo, una fila de tabla o un elemento de formulario. Los valores de contexto se pasan a la devolución de llamada del evento con un parámetro $Context.
Variables
Las variables se pueden utilizar para actualizar los componentes de PSBlazor con datos de PowerShell. Utilice el diccionario $Variables para obtener y establecer variables.
Dentro de la sintaxis de PSBlazor, puede hacer referencia a las variables de forma similar a como lo haría en PowerShell.
También puede utilizar variables en los atributos.
Las variables también pueden ser objetos complejos como PSCustomObject o Hashtable. Si tienen propiedades, también puede hacer referencia a ellas en la sintaxis de PSBlazor.
Enlace de datos
El enlace de datos proporciona un mecanismo para actualizar variables sin tener que llamar a un script de PowerShell. Para definir un enlace entre un atributo de un componente de PSBlazor, utilice la sintaxis bind-{attribute}.
Por ejemplo, podría enlazar con una variable $test para un cuadro de entrada de esta manera.
En su módulo de PowerShell, podría entonces acceder a la variable desde el objeto $Variables.
Ciclo de vida
Las variables se borran cuando un usuario actualiza la página. No se almacenan en caché más allá de este ámbito. Cada usuario y página de herramienta tendrá un conjunto de variables diferente.
Última actualización
¿Te fue útil?