Angular 17 Defer - Improve Performance in Your Application
Angular 17 defer is a new feature which allows us in simple way to improve the performance of the application. Angular 17 defer allows us to load certain component later as an additional chunks based on different conditions.
TIMESTAMPS
0:00 Introduction
0:18 Angular deferrable views
1:07 Angular basic defer
2:46 Angular defer triggers
5:43 Combining defer triggers
6:07 Angular defer when condition
7:01 Angular defer vs ngif
7:58 Prefetch in Angular defer
9:37 Angular defer full notation
► CHECK MY COURSES - monsterlessons-academy.com/co...
MOST POPULAR COURSES
► Building real project with Angular + NgRx - monsterlessons-academy.com/co...
► Building real NestJS API - monsterlessons-academy.com/co...
► Javascript interview questions - monsterlessons-academy.com/co...
► Angular Interview Questions monsterlessons-academy.com/co...
► Building real fullstack project - monsterlessons-academy.com/co...
► Mastering Git - monsterlessons-academy.com/co...
► Mastering Docker and Docker Compose - monsterlessons-academy.com/co...
► Building real project with React Hooks - monsterlessons-academy.com/co...
► Building real project with Vue + Vuex - monsterlessons-academy.com/co...
FOLLOW ME
► TWITTER - / monster_lessons
► INSTAGRAM - / monsterlessonsacademy
► TIKTOK - / monsterlessonsacademy
REFERENCES
► Source code - github.com/monsterlessonsacad...
Пікірлер: 37
Very powerful feature. Thanks for the explanation
@MonsterlessonsAcademy
7 ай бұрын
Glad it was helpful!
great job, thanks!
@MonsterlessonsAcademy
7 ай бұрын
Glad you liked it!
Thanks for the explanation
@MonsterlessonsAcademy
7 ай бұрын
You are welcome!
Thanks!
@MonsterlessonsAcademy
7 ай бұрын
Thank you so much for your support. It means a lot to me!
Спасибо большое!
Very good explaination
@MonsterlessonsAcademy
3 ай бұрын
Thanks!
¡Gracias!
@MonsterlessonsAcademy
18 күн бұрын
Thank you so much for your support. It means a lot to me!
I like u video so much!
@MonsterlessonsAcademy
7 ай бұрын
Glad to hear that!
So in a master detail you can lazy losd details bit by using defer a d button click. Insa e
I thought it would be a nice alternative to bypass the ssr but after testing I don't see any improvement yet. I peppered my components with @defer blocks in the hope of reducing Initial Chunk Files but quite the opposite happened. The more @defer I put, the more the main.js file gains in size. It's still very useful for displaying skeletons.
@MonsterlessonsAcademy
6 ай бұрын
I didn't try defer with ssr yet
How about when you have 2 defer inside the same template. Will create two chunks i assume, but how does it know what placeholder/loading/error to use? Great video!
@Simao-xk1ye
7 ай бұрын
In a scenario where multiple @defer directives are used, each @defer should have a corresponding @placeholder block immediately following it. The @placeholder block that follows a @defer block is the placeholder for that specific deferred content. eg. @defer(on viewport) { } @placeholder { Loading some component... } @loading { ... } @error{ error } @defer(on viewport) { } @placeholder { Loading another component... } @loading { ... } @error{ error }
@asadrahman6123
7 ай бұрын
@@Simao-xk1ye i think he meant this @defer(on viewport) { @defer(on viewport) { } @placeholder { Loading another component... } @loading { loading } @error{ error } } @placeholder { Loading component... } @loading { loading } @error{ error } will this work ?
@MonsterlessonsAcademy
7 ай бұрын
Simao answer is perfect. You create multiple @defer with multiple @placeholder blocks for each of them. It will create separate chunks for every defer.
Hi, Thanks for the explanation. I have a couple of questions: 1 - Is it possible to revert back to the original state when the condition is undone. For eg - the view is rendered when the code enters the viewport but when the user scrolls up and the the code is removed from the viewport, the view stays 2 - in case the view doesn't get rendered for some reason, can we re-render them somehow?
@MonsterlessonsAcademy
5 ай бұрын
I didn't try this cases
As angular 17 doesnt have module, how we can handle lazy load module routing ? all the components are stand alone does it impact performance of existing application after migrating to 17 ? any idea?
@MonsterlessonsAcademy
6 ай бұрын
I already covered that kzread.info/dash/bejne/gHp-xLqJZqbPaZs.htmlsi=dXl2xXJGoOik9ZB9
I have major issue with timing in angular I have a dialog with a form and need to fetch the data for that form before it's opened wondering if this will help.
@MonsterlessonsAcademy
4 ай бұрын
Kind of. But you can do the same without defer.
@anutaNYC
4 ай бұрын
@@MonsterlessonsAcademy I figured it out with subscribe but all these new things I haven't applied yet, and it's scary
@derfer combined with ssr.. does that even make sense?
@MonsterlessonsAcademy
6 ай бұрын
I didn't try that yet but no? because on backend we want to get the full prepared page. so all defered blocks should just be skipped
@LarsRyeJeppesen
6 ай бұрын
@@MonsterlessonsAcademy yeah agree
this is crazy..
@MonsterlessonsAcademy
7 ай бұрын
Yeap!
Your speech making the lesson a little more difficult to understand
string replace @if (condition) -> @defer(when condition; prefetch on idle) 😂
@MonsterlessonsAcademy
7 ай бұрын
I don't think it's a good idea to pack each small if condition in additional chunk