Angular 19 berada di kaki langit, dan ia membawa pelbagai ciri baharu yang menarik ke meja. Salah satu tambahan yang paling ketara ialah linkedSignal primitive, yang menjanjikan untuk merevolusikan cara kami mengendalikan pengaturcaraan reaktif dalam aplikasi Angular.
Secara tradisinya, melaksanakan corak tetapan semula dalam Sudut yang terlibat menggunakan isyarat dikira(). Walaupun berkesan, pendekatan ini mempunyai batasan. Apabila anda perlu menetapkan nilai isyarat secara eksplisit, ia menjadi isyarat baca sahaja, menghalang fleksibiliti.
linkedSignal menangani had ini dengan menyediakan isyarat boleh tulis yang mengemas kini nilainya secara automatik berdasarkan perubahan kepada isyarat sumber. Ini membolehkan kami mencipta penyegerakan yang lancar antara kedua-duanya, memastikan pengalaman pengguna tanpa gangguan.
Walaupun linkedSignal akan mempunyai berbilang beban, dua daripadanya patut disebut:
Lebih beban ini membolehkan anda mencipta LinkedSignal yang mengira nilainya berdasarkan nilai isyarat sumber. Berikut ialah contoh:
import { signal, linkedSignal } from '@angular/core'; const sourceSignal = signal(0); const linkedSignal = linkedSignal({ source: this.sourceSignal, computation: () => this.sourceSignal() * 5, });
Dalam contoh ini, linkedSignal akan sentiasa dua kali ganda nilai sourceSignal. Apabila sourceSignal berubah, linkedSignal akan mengira semula nilainya secara automatik. Berikut ialah contoh dunia nyata bagi linkedSignal:
Komponen CourseDetailComponent menerima courseId sebagai input dan memaparkan bilangan pelajar yang didaftarkan. Kami berhasrat untuk menetapkan semula kiraan pelajar setiap kali Id kursus yang dipilih berubah. Ini memerlukan mekanisme untuk menyegerakkan dua isyarat: courseId dan studentCount.
Walaupun penggunaan computed() boleh berkesan dalam memperoleh nilai daripada isyarat lain, ia adalah baca sahaja. Untuk mengemas kini studentCount secara dinamik berdasarkan perubahan dalam courseId, kami memanfaatkan linkedSignal primitif. Dengan mencipta isyarat boleh tulis yang dipautkan kepada courseId, kita boleh menetapkan studentCount secara eksplisit dan mengemas kininya secara automatik apabila courseId berubah. Pendekatan ini menyediakan penyelesaian yang teguh dan fleksibel untuk mengurus kebergantungan isyarat dan memastikan ketekalan data.
Untuk senario yang lebih mudah, anda boleh menggunakan sintaks singkatan untuk membuat linkedSignal:
const sourceSignal = signal(10); const linkedSignal = linkedSignal(() => sourceSignal() * 2);
Sintaks trengkas ini bersamaan dengan lebihan pertama, tetapi ia lebih ringkas dan lebih mudah dibaca.
linkedSignal ialah alat baharu yang berkuasa dalam kit alat reaktif Angular. Dengan memahami konsep teras dan corak penggunaannya, anda boleh mencipta aplikasi Sudut yang lebih mantap, responsif dan mesra pengguna. Dengan keupayaannya untuk menggabungkan aspek terbaik bagi isyarat terhitung() dan boleh tulis, linkedSignal bersedia untuk menjadi alat yang sangat diperlukan untuk pembangun Angular. Anda boleh mengetahui lebih lanjut tentang linkedSignals daripada stackblitz ini.
Atas ialah kandungan terperinci Sudut - Pengenalan kepada linkedSignal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!