写点什么

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:006563

评论

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

PAI-TurboX: 面向自动驾驶的训练推理加速框架

阿里云大数据AI技术

人工智能 自动驾驶 云计算 模型训练 模型

HarmonyOS开发实战:Online Authentication Kit实现新闻应用安全登录

chengxujianke

HarmonyOS开发实战:Status Bar Extension Kit定制新闻应用状态栏

chengxujianke

鸿蒙开发实战:Telephony Kit实现新闻应用智能免打扰

chengxujianke

20w奖金池!魔乐社区国产算力应用创新大赛正式启程

天翼云开发者社区

开发者大赛 AI应用 算力应用

harmony-utils之AssetUtil,关键资产存储服务工具类

桃花镇童长老

HarmonyOS ArkTS

鸿蒙开发实战:Remote Communication Kit实现新闻跨设备同步

chengxujianke

通义灵码 Agent+MCP:打造自动化菜品推荐平台,从需求到部署实现全流程创新

阿里云云效

阿里云 通义灵码

阿里巴巴Java架构师岗面试题(正式版)!

程序员高级码农

java 程序员‘

Mint Blockchain × Crydit: 联手推进 PayFi 生态建设

NFT Research

NFT web3、

鸿蒙开发笔记:Service Collaboration Kit实现新闻应用服务协同

chengxujianke

Fellou Windows版上线,实测生成AI日报+自动发小红书+数据可视化

阿星AI工作室

AI AI应用 AI工具 AI浏览器

为什么 IoTDB 选择 Java?权衡之后的最优解

Apache IoTDB

观测云正式上线 Google Cloud Marketplace,全面覆盖全球主流云平台!

观测云

可观测性

语音 AI 转录应用 Wispr Flow 融资 3000 万美元;饿了么骑手 AI 助手:支持语音唤醒,会主动发起询问丨日报

声网

HDC 2025 | AI+开源:赋能开发者迈向AI时代

华为云开源

开源 开发者 云原生 前端 华为开发者大会

HarmonyOS开发实战:NearLink Kit实现新闻极速互传

chengxujianke

鸿蒙开发笔记:Network Kit在新闻应用中的网络请求优化

chengxujianke

HarmonyOS开发笔记:Pen Kit实现新闻应用手写批注功能

chengxujianke

HarmonyOS开发实战:Sensor Service Kit实现新闻智能横竖屏适配

chengxujianke

数字化智能柔性生产线的新建设模式

优秀

数字化 柔性生产

HarmonyOS开发笔记:Test Kit实现新闻应用自动化测试

chengxujianke

HDC2025丨华为HMS for Car MAAN 4.0智能车载解决方案正式发布

极客天地

harmony-utils之AppUtil,APP相关工具类

桃花镇童长老

HarmonyOS ArkTS

harmony-utils之ArrayUtil,集合工具类

桃花镇童长老

HarmonyOS ArkTS

HarmonyOS开发实战:Multimodal Awareness Kit在新闻应用中的多模态交互

chengxujianke

鸿蒙开发笔记:Network Boost Kit优化新闻应用网络性能

chengxujianke

鸿蒙开发实战:Performance Analysis Kit优化新闻应用流畅度

chengxujianke

鸿蒙开发实战:Universal Keystore Kit保障新闻应用数据安全

chengxujianke

通义灵码 Agent+MCP:打造自动化菜品推荐平台,从需求到部署实现全流程创新

阿里巴巴云原生

阿里云 通义灵码 MCP

夏至之日,共赴实时 AI 之约:RTE Open Day@AGI Playground 2025 回顾

声网

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