Logica de vista
Renderizado Condicional
El renderizado condicional permite mostrar u ocultar partes de la interfaz según el estado o la lógica de la aplicación.
Ejemplo
Mostrar elementos distintos de la interfaz en función de una condición booleana.
Vuev-if / v-else
<script setup lang="ts">
defineProps<{
isLogged: boolean
}>();
</script>
<template>
<div>
<p v-if="isLogged">Welcome again</p>
<button v-if="isLogged">Sign out</button>
<button v-else>Sign in</button>
</div>
</template>
Se usan las directivas v-if y v-else del template para mostrar contenido distinto según una condición booleana.
React&& / ternary
function Hello({ isLogged }: { isLogged: boolean }) {
return (
<div>
{isLogged && <p>Welcome again</p>}
{isLogged ? (
<button>Sign out</button>
) : (
<button>Sign in</button>
)}
</div>
);
}
Resuelve la condición dentro del propio JSX usando expresiones de JavaScript como && y el operador ternario.
Angular@if / @else
import { Component, Input } from '@angular/core';
@Component({
selector: 'app-hello',
standalone: true,
template: `
@if (isLogged) {
<p>Welcome again</p>
<button>Sign out</button>
} @else {
<button>Sign in</button>
}
`
})
export class HelloComponent {
@Input() isLogged: boolean = false;
}
Usa bloques @if y @else en el template para decidir que contenido se muestra.
