Signals in Action: Building an App
14:05
Angular Routing Explained
10:10
2 ай бұрын
Angular's New @for Block Features
7:30
Angular's New Signal Inputs
10:48
8 ай бұрын
Пікірлер
@itamarmonteiro3066
@itamarmonteiro3066 Сағат бұрын
Thanks for sharing Deborah!
@MuhammadJawwad-k8j
@MuhammadJawwad-k8j 8 сағат бұрын
Explained very well, keep it up. :)
@GreenClearScenery
@GreenClearScenery Күн бұрын
Hi Deborah, in the video you give an example of primitives being immutable. So the code total = 42; // (1) total += 10; // (2) means that in (1), total is pointing at a memory with value 42. Then, in (2), total is pointing at a different memory address with value 52. But how can we re-access the value 42 ?? (We don't know the memory address for this anymore ?)
@MANAHILEJAZ-s7z
@MANAHILEJAZ-s7z 2 күн бұрын
Thanks for your help, there's is a same concept of mutability and immutability in python also
@sanjaykumar-ci7oh
@sanjaykumar-ci7oh 4 күн бұрын
So except for http calls which is unavoidable observable , we can replace all the other observable like subjects with signals , is it ? 🤔. And is that th new norm going to be ?
@deborah_kurata
@deborah_kurata 3 күн бұрын
Thank you for watching the video! Http calls are not necessarily unavoidable. You can use fetch instead of HTTP Client to retrieve data using promises. Personally, I prefer HTTP Client (which as you said returns an observable). Using signals won't necessarily replace all Observables, especially when dealing with event-based actions. Things like tracking/reacting to keypresses, when you want every emitted value, you'll still want Observables. So yes, signals will replace many observables, especially those used to manage state. But we'll still want observables for event-based actions.
@CodingAbroad
@CodingAbroad 5 күн бұрын
Could this completely replaxe ngrx in your opinion?
@deborah_kurata
@deborah_kurata 3 күн бұрын
For simple applications, yes. For more complex applications and for large teams, probably no. And ngRx, and of course signalStore, are becoming more signal based.
@CodingAbroad
@CodingAbroad 5 күн бұрын
7:24 this sounds like combineLatest. So would this be the best practice to replace combineLatest with this approach?
@deborah_kurata
@deborah_kurata 3 күн бұрын
In some cases, yes. Especially those cases where combineLatest was used to handle multiple query parameters. In other cases, there may still be use for combineLatest, such as when handling events from multiple sources (keypress and mouse move for example).
@doncooper6354
@doncooper6354 5 күн бұрын
The gold standard of teaching, not simply for Angular. We are blessed to have you.
@deborah_kurata
@deborah_kurata 3 күн бұрын
That is so very kind of you to say! I appreciate that! 😊
@raldors7499
@raldors7499 5 күн бұрын
I've seen some great Angular and rxjs teachers, but I think you are the best among them. Love your content
@deborah_kurata
@deborah_kurata 3 күн бұрын
Thank you so very much! 😊 Thanks for watching!
@mohammedashiq3892
@mohammedashiq3892 6 күн бұрын
Awesome
@deborah_kurata
@deborah_kurata 3 күн бұрын
Thanks!
@sureshkumar-ns4hf
@sureshkumar-ns4hf 7 күн бұрын
Happy new year. I went through your courses and all are so nicely explained ❤.Thanks
@deborah_kurata
@deborah_kurata 3 күн бұрын
Thank you so much! All the best in 2025! 😊
@Jonathan-kraai
@Jonathan-kraai 7 күн бұрын
CTRL + SHIFT + L made my day!
@deborah_kurata
@deborah_kurata 3 күн бұрын
Great tooling for the win! LOL. Glad it was useful. 😊
@hamza201183
@hamza201183 8 күн бұрын
Thank you very much!
@deborah_kurata
@deborah_kurata 3 күн бұрын
I'm glad you found it helpful! 😊
@haridulal9106
@haridulal9106 9 күн бұрын
This is by far the best video on angular signals that I have come across...thank you so much for the content....
@deborah_kurata
@deborah_kurata 8 күн бұрын
Thank you! I'm really glad you enjoyed it! 😊
@huizhao2050
@huizhao2050 9 күн бұрын
Another great video again. Would you please advise me can I use resource() or rxResource() to replace combineLatest in rxjs?
@deborah_kurata
@deborah_kurata 8 күн бұрын
Thanks! Do you have a code snippet of your combineLatest so I have a clear idea of your objective? I used to use combineLatest to do something with a retained observable when another observable changes. If these are all signals instead, the linkedSignal() can often do the same job. It depends on your specific scenario.
@huizhao2050
@huizhao2050 7 күн бұрын
@@deborah_kurata I meant that if I can use Resource or RxResource to handle multiple http request. It seems that it can only handle one request with loader function in Resource or RxResource. To handle multiple request, it seems that we still can not avoid to use combineLatest. I asked Grok AI. It gave me the answer. `import { inject, Injectable } from '@angular/core'; import { resource } from '@angular/core'; import { HttpClient } from '@angular/common/http'; @Injectable({ providedIn: 'root' }) export class MultiResourceService { private http = inject(HttpClient); combinedResource = resource({ loader: async () => { const [users, products] = await Promise.all([ this.http.get<User[]>('url1').toPromise(), this.http.get<Product[]>('url2').toPromise() ]); return { users, products }; } }); }` or another way `private http = inject(HttpClient); usersResource = rxResource({ loader: () => this.http.get<User[]>('url1') }); productsResource = rxResource({ loader: () => this.http.get<Product[]>('url2') }); combinedResource = combineLatest([this.usersResource.result$, this.productsResource.result$]).pipe( map(([users, products]) => ({ users, products })) ); combinedResource.subscribe(result => { console.log(result.users, result.products); });`
@MrGilband
@MrGilband 10 күн бұрын
simple clear and even fun
@deborah_kurata
@deborah_kurata 8 күн бұрын
Yep! Signals are fun! Thanks
@MattBodman
@MattBodman 10 күн бұрын
Merry Christmas and Happy New Year from Downunder. Your videos are excellent. Keep up the great work!
@deborah_kurata
@deborah_kurata 8 күн бұрын
Thank you so much! All the best for 2025! 😊
@DannyAwad
@DannyAwad 11 күн бұрын
mind blowing!!!
@deborah_kurata
@deborah_kurata 8 күн бұрын
Yep! Model inputs are so useful, it's been difficult finding a scenario for using an Output anymore. Thanks!
@hasokeric1362
@hasokeric1362 11 күн бұрын
What do we use for post and put... feels like if we stick to one like rxjs it's consistent vs doing gets one way and posts and puts another way
@deborah_kurata
@deborah_kurata 8 күн бұрын
We'd still use HTTPClient (or fetch), so that would be the same. We just wouldn't need to return the result as a signal, so it wouldn't need to be wrapped in a resource.
@clintonlobo5094
@clintonlobo5094 12 күн бұрын
Wishing you all the best for 2025. Thanks for your videos, it has helped me 😊
@deborah_kurata
@deborah_kurata 8 күн бұрын
Thank you! Happy New Year!
@jigneshdalvadi8390
@jigneshdalvadi8390 12 күн бұрын
Marry Christmas 🎄 Deborah
@deborah_kurata
@deborah_kurata 8 күн бұрын
Thank you! All the best for 2025! 😊
@elenamazyrina7158
@elenamazyrina7158 12 күн бұрын
Merry Christmas, Happy New Year! And many new wonderful videos on your channel next year☺️
@deborah_kurata
@deborah_kurata 8 күн бұрын
Thank you! All the best for 2025! 😊
@SunilM15
@SunilM15 12 күн бұрын
So nicely explained with examples, thanks !!!
@deborah_kurata
@deborah_kurata 10 күн бұрын
I'm glad you found it helpful! 😊 Thanks for watching!
@Brendan2Alexander
@Brendan2Alexander 12 күн бұрын
Rock on into 2025! Thank u for all your great content
@deborah_kurata
@deborah_kurata 10 күн бұрын
Thanks, I appreciate it! 😊 Happy New Year!
@tdekoekkoek
@tdekoekkoek 13 күн бұрын
Good video, but a lot of work to do what ngModules did already so well. Standalone is a pain IMO
@deborah_kurata
@deborah_kurata 8 күн бұрын
Thanks! As someone that taught Angular for many years, I saw numerous new Angular developers really struggle with ngModules. Conceptually, standalone is easier to understand. Your component needs two-way binding, import FormsModule. Your component needs child component ABC, import ABC. And for simple scenarios, standalone is a bit easier. Bootstrapping can be a bit challenging, which is why the Angular CLI and language services are trying to help with that. ngModules shine when there are a set of components all with similar importing needs. And you still can use them for that if you wish.
@tarik23boss
@tarik23boss 13 күн бұрын
is it fair to say the following. that when looking at text-start. the text is called the base utility class and the -start is the modifier? When they are combined together as text-start they made a utility class?
@summers_173mx
@summers_173mx 13 күн бұрын
Best for you and your family, thanks for all your videos
@deborah_kurata
@deborah_kurata 8 күн бұрын
Thank you! Wishing you and yours a wonderful 2025 as well. 😊
@ashishnayak2666
@ashishnayak2666 13 күн бұрын
Happy holiday to you too
@deborah_kurata
@deborah_kurata 8 күн бұрын
Happy Holidays! 😊
@richarddefortune1329
@richarddefortune1329 13 күн бұрын
Happy holidays to you too
@deborah_kurata
@deborah_kurata 8 күн бұрын
Happy Holidays! 😊
@ElioFerrero
@ElioFerrero 13 күн бұрын
Happy Holidays Deborah! Wish to see you with news from Angular
@deborah_kurata
@deborah_kurata 3 күн бұрын
Should be an exciting year for Angular in 2025!
@alonsonavastack
@alonsonavastack 13 күн бұрын
Felices fiestas Deborah!
@deborah_kurata
@deborah_kurata 3 күн бұрын
All the best in 2025! 🎉
@Vizardespa
@Vizardespa 13 күн бұрын
Owwwww I hope the very best too Deborah, your videos have been of great help with Angular, I wish for the Angular team to have that signal based forms and obviously would be looking forward to your videos on it; my best regards ✨
@deborah_kurata
@deborah_kurata 13 күн бұрын
Thank you! Happy Holidays! 😊
@leitohardy9679
@leitohardy9679 13 күн бұрын
As for me, the main desire besides Angular can only be peace for people, so that the war ends.
@deborah_kurata
@deborah_kurata 13 күн бұрын
Yes! Peace on earth for 2025. 😊
@BhushanKamathe_B2K
@BhushanKamathe_B2K 13 күн бұрын
Happy holidays🎉, Mam
@deborah_kurata
@deborah_kurata 13 күн бұрын
Thank you! Happy Holidays! 😊
@trustingod0
@trustingod0 13 күн бұрын
Happy Holidays and Thank You for keeping us up to speed.
@deborah_kurata
@deborah_kurata 13 күн бұрын
Happy Holidays to you too! 🎄😊
@DraaElMizan
@DraaElMizan 13 күн бұрын
Nice one Deborah. Hope your dreams will come true "form signals". Merry Christmas & Happy New Year. All the best.
@deborah_kurata
@deborah_kurata 13 күн бұрын
Thank you! All the best to you and yours. Happy Holidays! 😊
@edvinasbosas
@edvinasbosas 13 күн бұрын
Could you elaborate how reactive forms would benefit from signals? Enjoy the holidays and have a great 2025!
@deborah_kurata
@deborah_kurata 13 күн бұрын
Thank you! The Angular team is currently discussing how best to incorporate signals into forms. From the Angular roadmap: "We plan to analyze existing feedback about Angular forms and design a solution which addresses developers' requirements and uses Signals for management of reactive state." Link: github.com/angular/angular/blob/8c5db3cfb75700dd64f4c8c073554c7086835950/adev/src/content/reference/roadmap.md It is currently unclear whether signal-based forms will replace both reactive forms and template-driven forms, whether it will attempt to unite them, or whether signal features will be added to both types of forms. There are many goals with this project, including: 1) Make observables optional. Currently every Angular project automatically downloads RxJS because it uses it for many of its features, including valueChanges and statusChanges in reactive forms. 2) Manage change detection using signals. As Angular moves toward Zoneless components, it depends more and more on using signals to mark change detection. So there is a desire to manage form inputs with signals as well. We'll know more as we start to see prototypes and/or designs come in 2025.
@toilatin-smd
@toilatin-smd 14 күн бұрын
Thank you for the video! I want to ask that how could we do in different signal way without using linkedSignal? I mean reset the 'quantity' when 'selectedVehicle' has changed.
@deborah_kurata
@deborah_kurata 13 күн бұрын
Glad it was useful. 😊 To answer your question, we would use the same techniques we've been using for years ... depending on the application: - Use an event tied to the select box - Use a property setter on the selectedVehicle property - Use a behaviorSubject - Others?
@RomanWaves
@RomanWaves 14 күн бұрын
amazing explanation, thank you very much !
@deborah_kurata
@deborah_kurata 13 күн бұрын
Thank you! Signals are a "game changer" for Angular!
@AlexLikeGolf
@AlexLikeGolf 15 күн бұрын
This video is what I was looking for. I am currently using the Basic Store approach for State Management, and this video is perfect for my migration to Signals.
@deborah_kurata
@deborah_kurata 13 күн бұрын
Excellent! I'm happy it was helpful. 😊
@H2-oe4cu
@H2-oe4cu 15 күн бұрын
I guess it would be nice if the resource API exposed a numerical progress value as opposed to an isLoading boolean. That way we could introduce a progress bar, like some websites do.
@mohamedosama3728
@mohamedosama3728 16 күн бұрын
could you please give me courses path for your courses on pluralsight ♥
@deborah_kurata
@deborah_kurata 13 күн бұрын
That is very kind of you to ask! Currently, I only have one course on Pluralsight: "RxJS and Angular Signals Fundamentals". Thought it's currently over 1 year old and doesn't have the latest signal features. The other Pluralsight courses have been retired. Pluralsight would no longer allow me to update the "Angular: Getting Started" course. ☹ If you are learning Angular from scratch, you could still start with the "Angular: Getting Started" for the basic concepts. Then move on to my "Angular Topics" playlist for more information on newer features: kzbin.info/aero/PLErOmyzRKOCr07Kcnx75Aqh6PWSbIokPB All the best on your learning journey!
@bobr8407
@bobr8407 16 күн бұрын
Your videos are the best, Deborah!
@deborah_kurata
@deborah_kurata 13 күн бұрын
That's so kind of you to say. Thank you! 😊
@gabrieloyarzo6524
@gabrieloyarzo6524 17 күн бұрын
Great video! I have a question, when you have multiple components that make almost the same thing, for example a UserListComponent and its respective UserService, then the same for CustomerListComponent and CustomerService, how do you avoid using the same logic for the lists and the services? Is there a pattern to follow in these cases?
@pavelernestonavarroguerrer7871
@pavelernestonavarroguerrer7871 18 күн бұрын
Incredible useful and interesting video, thank you so much.
@deborah_kurata
@deborah_kurata 17 күн бұрын
I'm glad you found it useful. Thank you! 😊
@avrimalka9450
@avrimalka9450 18 күн бұрын
Hey, dose it mean that when I define resource / resourceRX the loader function runs (which means that http request is fired)?
@deborah_kurata
@deborah_kurata 17 күн бұрын
Yes. When the resource declaration is processed at runtime, the loader function runs. If you specify the `request` property of the resource, the loader will re-run any time the `request` signal changes. It may *not* issue the HTTP request if you have logic in the loader function preventing it. For example, this: private filmResource = rxResource({ request: () => ({ vehicle: this.vehicleService.selectedVehicle(), index: this.movieIndex() }), loader: ({request}) => { if(request.vehicle) { return this.http.get<Film>(request.vehicle.films[request.index]); }; return of(undefined); }, }); It won't issue the HTTP request unless the selectedVehicle has a value (isn't undefined).
@avrimalka9450
@avrimalka9450 15 күн бұрын
@@deborah_kurata Thanks, just some general question, it seems Angular is releasing more and more versions on signals which is great, but the thing is, should we wait for a stable one? for instance, now that we have resource and linked signal, it seems that before and after of these changes angular saves us lot of coding, what do you think?
@ElioFerrero
@ElioFerrero 18 күн бұрын
Hi Deborah, I follow you step by step to modify the code, but I don't understand why doesn't appear the 'Loading...' only ... loading vehicles' that is write in the html template
@deborah_kurata
@deborah_kurata 17 күн бұрын
The first "...Loading" message comes from Stackblitz. Are you using Stackblitz or some other editor? (It's basically irrelevant for the code we are writing. I just pointed it out because it appears when using Stackblitz. Sorry for the confusion.)
@ElioFerrero
@ElioFerrero 17 күн бұрын
@deborah_kurata Ah ok now is clear. When I use Stack blitz, appear but when download the code and use VSCode I don't see it 🙂
@matheusjordan6031
@matheusjordan6031 18 күн бұрын
A dublagem para portugues me ajudou demais, excelente video, conteudo muito util. Trabalho com Angular a 6 anos e de la pra ca sempre estou aprendendo e me atualizando.
@deborah_kurata
@deborah_kurata 18 күн бұрын
Fico feliz em saber que a dublagem funciona bem para você. Tudo de bom! 😊
@RsPippen
@RsPippen 18 күн бұрын
thank you for the amazing content as always!!
@deborah_kurata
@deborah_kurata 18 күн бұрын
I'm glad you found it useful! Thanks! 😊
@olalekanraheem4655
@olalekanraheem4655 18 күн бұрын
Your courses are always great. I started web dev with react but the first name I learned about Angular from your courses on plurasight made me switch to Angular since 2020 and I never regret it. Thanks so much for those content
@deborah_kurata
@deborah_kurata 18 күн бұрын
That is so very kind of you to say. Thank you! Glad you are a part of the Angular community. 😊