Creación y lectura de señales
Declare señales modificables y lea sus valores.
Creación y lectura de señales es una lección gratuita de Angular Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Angular Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Angular Academy incluye 4 lecciones en total.
Crear una señal
Puede crear una señal writable con la factoría signal(), pasando el valor inicial.
import { signal } from '@angular/core';
const c = signal(0); // initial value is 0El valor inicial establece el tipo
TypeScript infiere el tipo de la señal a partir del valor inicial. signal(0) es un WritableSignal<number>.
const name = signal('Alice'); // WritableSignal<string>
const flag = signal(false); // WritableSignal<boolean>Leer una señal
Llame a la señal para leer su valor actual. Esto devuelve el valor almacenado y registra una dependencia si se encuentra dentro de un contexto reactivo.
const c = signal(0);
const current = c(); // current === 0Leer varias veces
Puede leer una señal tantas veces como quiera. Cada llamada devuelve el valor más reciente en el momento de la llamada.
const c = signal(10);
console.log(c()); // 10
console.log(c()); // 10Tipado explícito
Puede indicar un tipo explícito cuando el valor inicial no lo representa completamente, por ejemplo, un valor que también puede ser null.
const user = signal<string | null>(null);
console.log(user()); // nullSeñales de objetos
Una señal puede contener cualquier valor, incluidos objetos y matrices.
const point = signal({ x: 0, y: 0 });
console.log(point().x); // 0Señales de matrices
Las matrices funcionan de la misma manera. Al leerlas se devuelve la referencia actual de la matriz.
const items = signal<string[]>(['a', 'b']);
console.log(items().length); // 2Señales como campos de clase
En componentes y servicios, declare las señales como campos. Se inicializan una vez cuando se crea la instancia.
import { Injectable, signal } from '@angular/core';
@Injectable({ providedIn: 'root' })
export class CounterStore {
count = signal(0);
}Leer en la clase del componente
Puede leer una señal en cualquier parte de la clase, por ejemplo dentro de un método, llamándola.
export class CounterStore {
count = signal(0);
isZero(): boolean {
return this.count() === 0;
}
}Acceso de solo lectura
Si desea exponer una señal sin permitir que los consumidores la modifiquen, puede exponerla mediante el método asReadonly().
const internal = signal(0);
export const value = internal.asReadonly();
// value() works; value.set is not availableConvenciones de nomenclatura
Una convención habitual consiste en nombrar la señal según el valor que contiene (por ejemplo, count o items), ya que su lectura se parece a un accessor normal: count().
Comprobación rápida: crear señales
Ponga a prueba su comprensión de la creación y lectura de señales.
Repaso: crear y leer
Ahora sabe cómo crear una señal writable con signal(initialValue), cómo infiere TypeScript su tipo y cómo leerla llamándola. También ha visto asReadonly() para exponer un acceso de solo lectura. A continuación: actualizar los valores de las señales.
Preguntas frecuentes
¿La lección «Creación y lectura de señales» es gratis?
Sí — el texto completo de «Creación y lectura de señales» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Angular Academy, actualiza a CoddyKit PRO. El curso de Angular Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Creación y lectura de señales»?
Declare señales modificables y lea sus valores. Practicas Angular Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Angular Academy?
No se requiere experiencia previa. Angular Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Creación y lectura de señales»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Angular Academy?
Sí. Cada lección de Angular Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Qué son las señales
- Creación y lectura de señales
- Actualización de señales con set y update
- Señales en plantillas