Merge pull request #696 from jdegand/bug-cd-md

docs: add note to bug-cd-md
This commit is contained in:
Laforge Thomas
2024-03-18 17:15:54 +01:00
committed by GitHub

View File

@@ -25,6 +25,10 @@ In this small application, we have a navigation menu to route our application to
The goal of the challenge is to debug this application and make it work. The goal of the challenge is to debug this application and make it work.
:::note
Without knowing the exact reason for the issue, you can "fix" the error and get the program to function. One such approach would be to memoize `getMenu`. The application might work again, but make sure you really understand the problem and its consequences. Making it work isn't always enough; fixing this bug in the wrong way can cause a loss of performance or lead to other problems later on.
:::
## Hints ## Hints
<details> <details>
@@ -36,6 +40,6 @@ The goal of the challenge is to debug this application and make it work.
<details> <details>
<summary>Hint 2</summary> <summary>Hint 2</summary>
If you open the [`RouterLinkActive` source code](https://github.com/angular/angular/blob/main/packages/router/src/directives/router_link_active.ts) and go to **line 196**, Angular is calling `this.cdr.markForCheck` inside a microTask which triggers a new CD cycle. If you comment out this line, the application loads again, however the bug is not inside the Angular Framework. 😅😯 If you open the [`RouterLinkActive` source code](https://github.com/angular/angular/blob/main/packages/router/src/directives/router_link_active.ts) and go to **line 196**, Angular is calling `this.cdr.markForCheck` inside a microTask, which triggers a new CD cycle. If you comment out this line, the application loads again, however, the bug should not be fixed by changing the Angular source code. 😅😯
</details> </details>