Product
Introducing Enhanced Alert Actions and Triage Functionality
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
@angular/platform-browser
Advanced tools
Package description
The @angular/platform-browser package provides services that are essential for running Angular applications in a web browser. This includes DOM manipulation, rendering, and browser interaction APIs.
DOM Manipulation
The BrowserModule provides services that are necessary for any web app, such as DOM rendering, sanitization, and location. It should be imported once in the root module of the app.
import { BrowserModule } from '@angular/platform-browser';
@NgModule({
imports: [BrowserModule],
...
})
export class AppModule { }
Browser Event Handling
The package allows components to handle browser events such as resize, keyup, and more through the HostListener decorator.
import { Component, HostListener } from '@angular/core';
@Component({...})
export class MyComponent {
@HostListener('window:resize', ['$event'])
onResize(event) {
// Handle the browser resize event
}
}
Safe Interpolation
The DomSanitizer service helps prevent Cross Site Scripting Security bugs (XSS) by sanitizing values to be safe to use in the different DOM contexts.
import { DomSanitizer } from '@angular/platform-browser';
@Component({...})
export class MyComponent {
safeUrl;
constructor(private sanitizer: DomSanitizer) {
this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl('https://example.com');
}
}
Similar to @angular/platform-browser for Angular, react-dom is used with React to interact with the DOM. It provides methods for rendering components into the DOM and working with the DOM elements.
Vue is a progressive framework for building user interfaces. It provides its own methods for DOM manipulation and updates, similar to what @angular/platform-browser does for Angular applications.
Preact is a fast 3kB alternative to React with the same modern API. It provides similar functionalities for rendering and handling the DOM as @angular/platform-browser does for Angular.
Changelog
17.0.0 (2023-11-08)
Blog post "Angular v17 is now available".
Node.js v16 support has been removed and the minimum support version has been bumped to 18.13.0.
Node.js v16 is planned to be End-of-Life on 2023-09-11. Angular will stop supporting Node.js v16 in Angular v17. For Node.js release schedule details, please see: https://github.com/nodejs/release#release-schedule
Angular now requires zone.js
version ~0.14.0
Versions of TypeScript older than 5.2 are no longer supported.
The mutate
method was removed from the WritableSignal
interface and completely
dropped from the public API surface. As an alternative, please use the update
method and
make immutable changes to the object.
Example before:
items.mutate(itemsArray => itemsArray.push(newItem));
Example after:
items.update(itemsArray => [itemsArray, …newItem]);
OnPush
components that are created dynamically now
only have their host bindings refreshed and ngDoCheck run
during change
detection if they are dirty.
Previously, a bug in the change detection would result in the OnPush
configuration of dynamically created components to be ignored when
executing host bindings and the ngDoCheck
function. This is
rarely encountered but can happen if code has a handle on the
ComponentRef
instance and updates values read in the OnPush
component template without then calling either markForCheck
or
detectChanges
on that component's ChangeDetectorRef
.
REMOVE_STYLES_ON_COMPONENT_DESTROY
default value is now true
. This causes CSS of components to be removed from the DOM when destroyed. You retain the previous behaviour by providing the REMOVE_STYLES_ON_COMPONENT_DESTROY
injection token.
import {REMOVE_STYLES_ON_COMPONENT_DESTROY} from '@angular/platform-browser';
...
providers: [{
provide: REMOVE_STYLES_ON_COMPONENT_DESTROY,
useValue: false,
}]
The withNoDomReuse()
function was removed from the public API. If you need to disable hydration, you can exclude the provideClientHydration()
call from provider list in your application (which would disable hydration features for the entire application) or use ngSkipHydration
attribute to disable hydration for particular components. See this guide for additional information: https://angular.io/guide/hydration#how-to-skip-hydration-for-particular-components.
Absolute redirects no longer prevent further redirects. Route configurations may need to be adjusted to prevent infinite redirects where additional redirects were previously ignored after an absolute redirect occurred.
Routes with loadComponent
would incorrectly cause
child routes to inherit their data by default. The default
paramsInheritanceStrategy
is emptyOnly
. If parent data should be
inherited in child routes, this should be manually set to always
.
urlHandlingStrategy
has been removed from the Router public API.
This should instead be configured through the provideRouter or RouterModule.forRoot APIs.
The following Router properties have been removed from the public API:
These should instead be configured through the provideRouter
or
RouterModule.forRoot
APIs.
The setupTestingRouter
function has been removed. Use
RouterModule.forRoot
or provideRouter
to setup the Router
for
tests instead.
malformedUriErrorHandler
is no longer available in
the RouterModule.forRoot
options. URL parsing errors should instead be
handled in the UrlSerializer.parse
method.
Readme
The sources for this package are in the main Angular repo. Please file issues and pull requests against that repo.
License: MIT
FAQs
Angular - library for using Angular in a web browser
We found that @angular/platform-browser demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
Security News
Polyfill.io has been serving malware for months via its CDN, after the project's open source maintainer sold the service to a company based in China.
Security News
OpenSSF is warning open source maintainers to stay vigilant against reputation farming on GitHub, where users artificially inflate their status by manipulating interactions on closed issues and PRs.