0Pricing
Angular Academy · Pelajaran

Memperbarui Sinyal dengan set dan update

Ubah nilai sinyal secara reaktif.

Memperbarui Sinyal dengan set dan update adalah pelajaran Angular Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Angular Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Angular Academy mencakup 4 pelajaran total.

Mengubah Signal

Signal writable dapat diubah dengan dua cara: set() untuk mengganti nilai dan update() untuk memperoleh nilai baru dari nilai saat ini.

Menggunakan set()

set(newValue) mengganti seluruh nilai signal dengan nilai yang Anda teruskan.

const c = signal(0);
c.set(1);
console.log(c()); // 1

Kapan Menggunakan set()

Gunakan set() ketika nilai baru tidak bergantung pada nilai lama, misalnya saat menetapkan nilai baru dari input pengguna atau respons API.

const name = signal('');
name.set('Alice');
console.log(name()); // Alice

Menggunakan update()

update(fn) menerima fungsi yang mendapatkan nilai saat ini dan mengembalikan nilai baru. Cara ini ideal ketika nilai berikutnya bergantung pada nilai sebelumnya.

const c = signal(0);
c.update(v => v + 1);
console.log(c()); // 1

Menambah Nilai dengan update()

Penghitung klasik menggunakan update() untuk menambah nilai berdasarkan hitungan yang sudah ada.

const count = signal(10);
count.update(v => v + 1); // 11
count.update(v => v - 1); // 10

Memperbarui Objek Secara Imutabel

Karena deteksi perubahan membandingkan referensi, gantilah objek alih-alih memodifikasinya. Salin nilai lama ke objek baru menggunakan operator spread.

const point = signal({ x: 0, y: 0 });
point.update(p => ({ ...p, x: p.x + 1 }));
console.log(point()); // { x: 1, y: 0 }

Memperbarui Larik Secara Imutabel

Untuk larik, kembalikan larik baru. Hindari push/splice pada larik yang ada; gunakan spread atau metode larik yang mengembalikan larik baru.

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

Ringkasan set() vs update()

set: Anda sudah memiliki nilai akhirnya. update: Anda menghitung nilai akhir dari nilai saat ini. Keduanya memberi tahu konsumen jika nilainya benar-benar berubah.

Kesetaraan Referensi dan Perubahan

Secara default, signal menggunakan kesetaraan referensi (atau nilai, untuk tipe primitif) untuk menentukan apakah terjadi perubahan. Menetapkan signal ke nilai primitif yang persis sama tidak memberi tahu dependensi.

const c = signal(5);
c.set(5); // no change, dependents not notified

Modifikasi Tidak Disarankan

API lama memiliki metode mutate(), tetapi pendekatan modern yang disarankan adalah pembaruan imutabel dengan set() dan update() yang mengembalikan referensi baru.

Memperbarui Signal dalam Metode

Dalam komponen, bungkus pembaruan signal dalam metode yang dapat dipanggil templat dari penangan peristiwa.

export class CounterComponent {
  count = signal(0);
  increment() { this.count.update(v => v + 1); }
  reset() { this.count.set(0); }
}

Cek Singkat: set vs update

Pilih alat yang tepat untuk tugasnya.

Ringkasan: Memperbarui Signals

Anda mempelajari set() untuk mengganti nilai dan update(fn) untuk menghasilkan nilai baru dari nilai saat ini. Anda juga melihat cara memperbarui objek dan array secara imutabel agar kesetaraan referensi dapat mendeteksi perubahan. Selanjutnya: menggunakan signals secara langsung dalam templat.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Memperbarui Sinyal dengan set dan update” gratis?

Ya — teks lengkap “Memperbarui Sinyal dengan set dan update” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Angular Academy, upgrade ke CoddyKit PRO. Kursus Angular Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Memperbarui Sinyal dengan set dan update”?

Ubah nilai sinyal secara reaktif. Kamu berlatih Angular Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Angular Academy?

Tidak diperlukan pengalaman sebelumnya. Angular Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Memperbarui Sinyal dengan set dan update” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Angular Academy ini?

Ya. Setiap pelajaran Angular Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Apa Itu Sinyal
  2. Membuat dan Membaca Sinyal
  3. Memperbarui Sinyal dengan set dan update
  4. Sinyal dalam Template
← Kembali ke Angular Academy