Latihan 1: State Management Angular — Angular

Latihan 1 dari materi State Management Angular di Angular — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Starter-nya sudah punya import { Injectable } from '@angular/core' dan export class TodoStore {} yang kosong. Isi jadi signal store:

  1. Tambahkan signal dan computed ke import: import { Injectable, signal, computed } from '@angular/core'.
  2. Tandai kelasnya dengan @Injectable({ providedIn: 'root' }).
  3. private items = signal<string[]>([]): daftar yang mulai kosong.
  4. readonly todoItems = this.items.asReadonly(): versi baca saja untuk pemakai luar.
  5. readonly count = computed(() => this.items().length): jumlahnya, diturunkan dari panjang daftar dan dibaca dengan count().
  6. addItem(item: string) yang menjalankan this.items.update(list => [...list, item]).
  7. removeItem(index: number) yang menjalankan this.items.update(list => list.filter((_, i) => i !== index)).

Yang dicek:

Hint