Dalam Angular 19, ciri linkedSignal memperkenalkan pembolehubah reaktif yang kekal disegerakkan dengan logik yang dikira. Ini ialah penambahan hebat yang meningkatkan kereaktifan dan memudahkan pangkalan kod anda.
LinkedSignal berfungsi dengan memperoleh nilainya daripada fungsi pengiraan yang disediakan. Begini cara ia beroperasi:
const shippingOptions = signal(['Ground', 'Air', 'Sea']); const selectedOption = linkedSignal(() => shippingOptions()[0]);
console.log(selectedOption()); // 'Ground'
selectedOption bermula dengan 'Ground' kerana ia memaut ke item pertama dalam shippingOptions.
selectedOption.set(shippingOptions()[2]); console.log(selectedOption()); // 'Sea'
Anda secara manual menetapkan Opsyen terpilih kepada 'Laut', iaitu pilihan ketiga dalam tatasusunan.
shippingOptions.set(['Email', 'Will Call', 'Postal service']); console.log(selectedOption()); // 'Email'
Apabila shippingOptions berubah, linkedSignal mengira semula. Kini, ia mencerminkan pilihan pertama baharu: 'E-mel'.
Berikut ialah contoh menggunakan LinkedSignal dengan fungsi pengiraan tersuai
≈
Katakan anda ingin menguruskan suhu dalam kedua-dua Celsius dan Fahrenheit. LinkedSignal boleh digunakan untuk memastikan Fahrenheit dipautkan ke Celsius melalui fungsi tersuai.
const celsius = signal(25); // Base signal for temperature in Celsius const fahrenheit = linkedSignal(() => celsius() * 9/5 + 32); // Compute Fahrenheit from Celsius console.log(fahrenheit()); // 77 (25°C in Fahrenheit) // Change the Celsius value celsius.set(30); console.log(fahrenheit()); // 86 (30°C in Fahrenheit) // Manually update Fahrenheit (breaks auto-link temporarily) fahrenheit.set(100); console.log(fahrenheit()); // 100 console.log(celsius()); // Still 30, as Fahrenheit is overridden // Change Celsius again to reset linkage celsius.set(0); console.log(fahrenheit()); // 32 (0°C in Fahrenheit)
Kekalkan Keadaan Segerak: Memastikan Isyarat terpaut anda sentiasa sepadan dengan keadaan terkini pengiraannya.
Mudah: Anda tidak perlu mengemas kini linkedSignal secara manual apabila kebergantungannya berubah—ia mengemas kini secara automatik.
Fleksibel: Anda masih boleh menggantikan nilainya secara manual apabila diperlukan.
LinkedSignal mengikat nilainya dengan beberapa logik, jadi ia sentiasa dikemas kini secara automatik apabila logik berubah. Ia bagus untuk senario di mana satu negeri bergantung pada yang lain.
Atas ialah kandungan terperinci Isyarat dipautkan sudut. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!