0Pricing
Angular Academy · Lezione

Creazione e lettura dei signal

Dichiari signal scrivibili e ne legga i valori.

Creazione e lettura dei signal è una lezione Angular Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Angular Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Angular Academy include 4 lezioni in totale.

Creazione di un signal

Crei un signal writable con la factory signal(), passando il valore iniziale.

import { signal } from '@angular/core';

const c = signal(0); // initial value is 0

Il valore iniziale determina il tipo

TypeScript deduce il tipo del signal dal valore iniziale. signal(0) è un WritableSignal<number>.

const name = signal('Alice'); // WritableSignal<string>
const flag = signal(false);    // WritableSignal<boolean>

Lettura di un signal

Chiami il signal per leggerne il valore corrente. Questa operazione restituisce il valore memorizzato e registra una dipendenza se si trova all'interno di un contesto reattivo.

const c = signal(0);
const current = c(); // current === 0

Letture multiple

Può leggere un signal tutte le volte che desidera. Ogni chiamata restituisce il valore più recente nel momento della chiamata.

const c = signal(10);
console.log(c()); // 10
console.log(c()); // 10

Tipizzazione esplicita

Può specificare esplicitamente un tipo quando il valore iniziale non lo rappresenta completamente, ad esempio per un valore che può essere anche null.

const user = signal<string | null>(null);
console.log(user()); // null

Signal che contengono oggetti

Un signal può contenere qualsiasi valore, inclusi oggetti e array.

const point = signal({ x: 0, y: 0 });
console.log(point().x); // 0

Signal che contengono array

Gli array funzionano allo stesso modo. La lettura restituisce il riferimento all'array corrente.

const items = signal<string[]>(['a', 'b']);
console.log(items().length); // 2

I signal come campi della classe

Nei componenti e nei servizi, dichiari i signal come campi. Vengono inizializzati una sola volta, quando viene creata l'istanza.

import { Injectable, signal } from '@angular/core';

@Injectable({ providedIn: 'root' })
export class CounterStore {
  count = signal(0);
}

Lettura nella classe del componente

Può leggere un signal in qualsiasi punto della classe, ad esempio all'interno di un metodo, chiamandolo.

export class CounterStore {
  count = signal(0);
  isZero(): boolean {
    return this.count() === 0;
  }
}

Accesso in sola lettura

Se desidera esporre un signal senza consentire ai consumer di modificarlo, può esporlo tramite il metodo asReadonly().

const internal = signal(0);
export const value = internal.asReadonly();
// value() works; value.set is not available

Convenzioni di denominazione

Una convenzione comune consiste nel denominare il signal in base al valore che contiene (ad esempio count, items), poiché la lettura assomiglia a un normale accessor: count().

Verifica rapida: creazione dei signal

Verifichi la Sua comprensione della creazione e della lettura dei signal.

Riepilogo: creazione e lettura

Ora sa come creare un signal writable con signal(initialValue), come TypeScript ne deduce il tipo e come leggerlo chiamandolo. Ha anche visto asReadonly() per esporre un accesso in sola lettura. Prossimo argomento: aggiornamento dei valori dei signal.

Domande Frequenti

La lezione «Creazione e lettura dei signal» è gratuita?

Sì — il testo completo di «Creazione e lettura dei signal» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Angular Academy, passa a CoddyKit PRO. Il corso Angular Academy include 4 lezioni in totale.

Cosa imparerò in «Creazione e lettura dei signal»?

Dichiari signal scrivibili e ne legga i valori. Eserciti Angular Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Angular Academy?

Non è richiesta alcuna esperienza precedente. Angular Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Creazione e lettura dei signal»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Angular Academy?

Sì. Ogni lezione Angular Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Cosa sono i signal
  2. Creazione e lettura dei signal
  3. Aggiornamento dei signal con set e update
  4. Signal nei template
← Torna a Angular Academy