Episode 24/28: Angular 18.1

ng-news
ng-news
Published in
2 min readJul 19, 2024

Angular 18.1 is out.

Compared to the minor releases in the 17 series, it doesn’t bring many new impactful features. Nevertheless, the feature everyone is talking about, which has been a little — one could say — over-hyped on Twitter, is the new let syntax.

It allows us to assign a value to a template variable. Since it doesn’t open the doors to completely new features, we should see it as a syntactic improvement.

Netanel Basal has written an article covering the simplifications/patterns that the let syntax brings.

Other noteworthy features of the minor release are the update to TypeScript 5.5 which comes with inferred type predicates.

@Component({
selector: 'app-root',
standalone: true,
template: ``
})
export class AppComponent {
message$: Observable<string> = inject(HttpClient).get('http://www.host.com/message').pipe(filter(value => this.isString(value)));

isString(value: unknown) {
return typeof value === 'string';
}

// before TypeScript 5.5
isStringExplict(value: unknown): value is string {
return typeof value === 'string';
}
}

Uncalled functions in event listeners now throw an error. This applies to event listeners only, not for property binding in combination with Signals.

@Component({
selector: 'app-root',
standalone: true,
// click get a warning
template: `<button (click)="sayHi")>Say hi</button>`
})
export class AppComponent {
sayHi() {
console.log('hi');
}
}

Finally, the routerLink directive accepts now also an UrlTree.

@Component({
selector: 'app-root',
standalone: true,
imports: [RouterOutlet, RouterLinkWithHref],
template: `<a [routerLink]="adminLink">Admin</a>`
})
export class AppComponent {
adminLink = inject(Router).createUrlTree(['admin', {site: 'basic'}, 'main'])
}

For more information, head to the official ChangeLog, the recording of the Q&A session, the blog posting for the let syntax, and, of course, all the various articles, etc. from the community.

--

--

ng-news
ng-news

Published in ng-news

ng-news is published on a weekly basis. It brings you the latest updates from the Angular community. ng-news is curated which means it focuses only on the most important topics. It also comes with additional explanations and analyses.