写点什么

Angular 18 引入了 Zoneless 变更检测

Agazi Mekonnen

  • 2024-07-16
    北京
  • 本文字数:1417 字

    阅读完需:约 5 分钟

大小:450.71K时长:02:33
Angular 18 引入了 Zoneless 变更检测

Angular 最近发布了 Angular 18,引入了 zoneless(无 zone.js)变更检测、新的开发者中心、多个特性的稳定版本以及服务器端渲染的改进等。该版本的亮点是提供了稳定的新 API,解决了常见的开发者请求,并增强了整体的开发者体验。


Angular 18 引入了对 zoneless 变更检测的实验性支持,消除了对 zone.js 的需求。该方法旨在通过减少变更检测的周期数以及提供更易读的堆栈跟踪来提高性能。开发人员可以通过在其应用程序的引导程序中添加如下的提供程序来尝试实验性的 zoneless 支持:


bootstrapApplication(App, {  providers: [    provideExperimentalZonelessChangeDetection()  ]});
复制代码


谷歌高级软件工程师 Alex Rickabaugh 在 X(前身名为 Twitter)上发表的推文谈到了在 Angular 18 中支持 zoneless 的重要性:


我对这个版本的发布感到特别的自豪。我们面临的最大挑战是在保持 Angular 的稳定性和可靠性的同时跟上现代 Web 的发展。借助 v18,我们朝着没有 zone.js 的未来迈出了第一步。


Angular.dev 是 Angular 文档的官方网站。其中包含了动手入门之旅、互动游乐场、更新的指南和简化的导航。所有对 angular.io 的请求现在都重定向到了 angular.dev。


在 Angular 18 中有几个特性已经达到了稳定状态。之前处于实验性支持状态的 Material 3 组件现已稳定,并包括了新的主题和文档。旨在改进 Core Web Vitals 的可延迟视图现在处于稳定状态,使开发人员能够延迟加载某些视图。新的内置控制流语法和特性也已达到稳定状态,可提供改进的性能和人效学的优势。


Angular 18 通过 i18n hydration 支持、更好的调试和由谷歌事件调度库提供的事件回放增强了服务器端渲染(SSR)。这些改进旨在确保服务器端渲染体验更加健壮并且更具交互性。


现在可以在 Angular 18 中为 ng-content 指定默认的内容。这允许开发人员在他们的组件中提供回退内容。例如:

@Component({  selector: 'app-profile',  template: `    Hello     Unknown user  `,})export class Profile {}
复制代码


使用组件:


<app-profile>  <span class="greeting">Good morning </span></app-profile>
复制代码


输出将会是:


<span class="greeting">Good morning </span>Unknown user
复制代码


Angular 表单现在公开了一个名为 events 的属性,允许开发人员订阅表单控件的事件流。例如:


const nameControl = new FormControl('name', Validators.required);nameControl.events.subscribe(event => {  // 处理单个事件});
复制代码


此外,Angular 18 通过允许使用返回动态重定向路由的函数,在路由重定向方面提供了更高的灵活性。例如:


const routes: Routes = [  { path: "first-component", component: FirstComponent },  {    path: "old-user-page",    redirectTo: ({ queryParams }) => {      const errorHandler = inject(ErrorHandler);      const userIdParam = queryParams['userId'];      if (userIdParam !== undefined) {        return `/user/${userIdParam}`;      } else {        errorHandler.handleError(new Error('Attempted navigation to user page without user ID.'));        return `/not-found`;      }    },  },  { path: "user/:userId", component: OtherComponent },];
复制代码


最后,Angular 18 更新了对 TypeScript 5.4 的依赖,使开发人员能够利用最新的 TypeScript 特性和改进。


原文链接:


https://www.infoq.com/news/2024/07/angular-18-introduces-zoneless/


声明:本文由 InfoQ 翻译,未经许可禁止转载。

2024-07-16 10:006501

评论

发布
暂无评论
发现更多内容

Ubuntu 22.04系统KWDB数据库安装部署使用教程_案例传感器

KaiwuDB

Perplexity CEO专访:AI浏览器大战、挑战谷歌以及广告模式的终结

AI数据云Relyt

openai ChatGPT LLM AIAgent AI浏览器

数据分析与AI丨如何选择合适的知识图谱软件,CTO/CIO 必问10个关键点

Altair RapidMiner

人工智能 AI 数据分析 汽车 数字孪生

Web3 软件系统的开发框架

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

黑龙江等保测评的核心流程

等保测评

大数据-49 Redis 缓存异常全攻略:穿透、击穿、雪崩、热Key、大Key通杀指南

武子康

Java redis 大数据 缓存 分布式

远程踏勘系统(源码+文档+讲解+演示)

深圳亥时科技

大庆等保测评周期与复测要求解析

等保测评

融云“通信+AI”解决方案三大场景实例

融云 RongCloud

京东图片搜索商品API指南

tbapi

京东API 京东图片搜索接口 京东拍立淘接口 京东以图搜索接口 京东图搜API

炸了!AWS 推出 S3 Vectors

AI数据云Relyt

AI AWS 向量数据库 LLM

BlueHat Shanghai 2019:全球防御合作伙伴的力量放大

qife122

网络安全 容器安全

TCL电子(01070.HK)发布中期业绩盈喜预告 预期2025年上半年经调整归母净利润同比增幅约为45%至65%

财见

KWDB 2.2.2 版本发布,修复产品典型问题,优化系统性能和稳定性

KaiwuDB

就在今天,来开源生态大会和 KWDB 一起「玩转开源」!

KaiwuDB

GreatSQL函数索引失效分析:排序规则匹配机制

GreatSQL

语音 AI 迎来并购潮:Meta 收购 PlayAI 后,谁是下一个目标?WhatsApp 上线语音通话 API丨日报

声网

从MTSC2025思考AI如何重塑研发质效

十三Tech

架构 AI 后端 cursor MTSC

WAIC 送票丨最关心语音 AI 的一群人都来世界人工智能大会了

声网

安卓应用如何快速移植到鸿蒙系统?这个D2C技巧,开发必备!

职场工具箱

android 开发 HarmonyOS D2C 设计稿转代码

javax.security.auth.login.LoginException: Message stream modified (41)

刘大猫

人工智能 数据挖掘 算法 数据分析 大模型

iPad需要备份数据吗?苹果手机第三方备份软件哪个好?

阿拉灯神丁

imazing iTunes 苹果手机备份 icloud

中烟创新数字档案:开启烟草行业“智”理新动能

中烟创新

如何设计 RBAC(基于角色的访问控制)系统

NocoBase

开源 低代码 权限管理 rbac 无代码

微软2011年5月安全公告:漏洞可利用性指数改进与预先通知服务

qife122

漏洞利用性指数 微软安全响应中心

基于YOLOv8的高压电线(绝缘子、电缆)有无故障检测识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!

申公豹

yolo

【超实用】苹果电脑无法往U盘里存东西怎么办?Mac文件无法拷贝进U盘怎么解决?

阿拉灯神丁

NTFS 磁盘管理器 Tuxera NTFS2024 Mac磁盘管理 磁盘格式读写软件

京东商品评论API指南

tbapi

京东API 京东商品评论API 京东评论API 京东商品评论数据采集 京东评论数据采集

等保测评的行业适用性与案例分析

等保测评

智能查重防串标:筑牢烟草行业招投标诚信“防火墙”

中烟创新

TRAE 新增自定义模型服务商、进程资源管理器,国际版支持银联支付!

火山引擎开发者社区

Trae

Angular 18 引入了 Zoneless 变更检测_后端_InfoQ精选文章