Comments (6)
Ah, actually I just found the part about only executing on the browser:
angular/packages/core/src/render3/after_render_hooks.ts
Lines 262 to 264 in 1ee9f32
Removing help wanted label. The documentation doesn't mention that these are run outside the zone but before we add that, I want to raise this as an issue to the team again. I don't know if running them outside the zone is the right thing to do.
from angular.
This working, but why?
ngOnInit(): void {
setTimeout(() => {
this.title = 'AppComponent rendered'
}, 3000);
}
from angular.
Render hooks are not executed on the server: https://angular.io/guide/ssr#authoring-server-compatible-components
I was surprised to find that this wasn’t documented directly on the hook api docs as well. This should be fixed.
from angular.
One additional note is that render hooks execute outside the Angular zone in the browser so the setTimeout will not trigger change detection.
from angular.
Please explain to me what I can do to help, to contribute
from angular.
@ABNERMATHEUS If you want something to run on both client and/or server, use OnInit
If you want something to run only in clients, use afterNextRender()
, as this will not be executed on the server.
afterNextRender
() is specifically made to only run in browsers, and only when template has been rendered, so you have access to template components, html tags etc. it can replace afterViewInit
from angular.
Related Issues (20)
- Angular 17 @for has memory leak HOT 2
- Reactive forms directives should be standalone HOT 1
- Rename Change detection "Default"
- `swPush.requestSubscription` never resolves on Arc browser (mac os) HOT 1
- AngularGPT
- Recursive template with @defer HOT 7
- The output-function page is not accessible https://angular.dev/guide/output-function
- developer preview features HOT 2
- toSignal causes the signal to not being lazy-evaluated HOT 6
- API for ngModule bootstrap for SSR? - `platformServer.bootstrapModule` vs `bootstrapApplication` of `@angular/platform-server`? HOT 2
- Renderer2 method that allows you to set signal inputs HOT 5
- Angular attributes produce HTML validation errors HOT 3
- Angular 15 - router.events are empty with nested router outlets on page refresh HOT 1
- The CSP nonce remains in the DOM after being read by Angular HOT 1
- API Reference search on angular.dev HOT 3
- Improve the angular.dev dark mode HOT 1
- Use hadError instead of errors
- Excessive modulepreload Links in Angular 18.0.0-next.4 Affecting Performance Metrics
- docs: @defer requires the parent component also be standalone
- BrowserViewportScroller not honoring native scroll margin HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from angular.