InfoQ首页 新闻 Angular 14 - 类型化表单和独立组件
网络服务器和反向代理缓存101(2022年6月16日现场网络研讨会) - 保存您的座位
Angular 14 - 类型化的表单和独立组件
喜欢 打印书签
Jun 07, 2022 1 min read
作者
为InfoQ撰稿
加入一个专家社区。 提高你的知名度。
发展你的事业。了解更多
Angular 14在本月初发布,是自Ivy以来最重要的一次更新。它包括两个期待已久的功能:类型化的反应式表单和独立组件,以及一些小的改进。
严格的类型化反应式表单是一个长期存在的社区要求,可以追溯到Angular 2的发布。
在Angular 14之前,Reactive Forms的许多类中都不包含类型定义,TypeScript在编译过程中不会捕捉到像下面这个例子中的错误。
const login = new FormGroup({
email: new FormControl(''),
password: new FormControl(''),
});
console.log(login.value.notanemail);
在Angular 14中,FormGroup、formControl和相关的类包含了类型定义,使TypeScript能够捕捉到许多常见的错误。
迁移到新的类型化反应式表单并不是自动的。
现有的表单控制器、组等,在升级过程中会以Untyped为前缀,它保留了以前Angular版本的准确类型定义。
为了利用新的Typed Reactive Forms,开发人员将需要手动删除Untyped前缀,并修复可能出现的任何错误。
开发人员可以在类型化的反应式表单文档中找到更多细节。
Angular 14的第二个主要变化是独立组件的概念。
Angular模块长期以来一直是一个有争议的话题,许多社区成员声称它导致了Angular应用程序中不必要的复杂化。
在Angular 14中,现在可以通过简单地在Component装饰器中传递standalone: true属性来创建独立的组件。
@Component({
selector: 'sample-component',
standalone: true,
template: ``,
imports: [ ComponentOne, ComponentTwo, SampleDirective,
SampleService, CommonModule]
],
})
export class SampleComponent {
...
}
由于仍然需要Angular的依赖注入,许多模块的定义被移到了Component装饰器中。
目前还不清楚社区将如何采用这项新功能,Angular团队已经将这项功能标记为开发者预览版,它可能在未来的版本中改变API。
这个版本还包括一个新的扩展的Diagnostics框架,它提供了关于模板错误和最佳实践的改进反馈。
目前,该框架包括两个新的警告,一个是针对盒子里的逆向香蕉([])语法(这是有效的,但很少是有意的),另一个是当输入不为空时不必要的空值凝聚(?
最后,Angular 14使用最新的TypeScript 4.7,并默认以ES2020为目标。
欲了解完整的变化列表,请前往官方发布公告
Angular是MIT许可下的开源软件。欢迎大家通过Angular的GitHub仓库做出贡献。
关于作者
Guy Nesher
显示更多显示更少
[
受此内容启发?为InfoQ写文章吧。
成为InfoQ的编辑是我职业生涯中最好的决定之一。它挑战了我,并在很多方面帮助我成长。我们很希望有更多的人加入我们的团队。

Thomas Betts软件架构与设计主管编辑@InfoQ;高级首席工程师
为InfoQ写文章
给这篇文章评分
采用
风格
联系的作者
此内容属于网站开发主题
相关话题。
-
相关编辑
-
相关赞助内容
-
相关赞助商
vFunction是一个获得专利的人工智能平台,为企业提供智能、自动地将传统的单体应用转变为微服务。请求演示。
相关内容
-
架构与设计
-
如何使用流处理器Pipy创建一个网络代理
-
淘宝网上卖的是什么?
-
在传统的Node.js后端上编写自动测试程序
-
创业者们,你们还在等什么?WebAssembly--过去、现在和未来
-
WASM在狂野的西部:一个实际应用的故事
-
在BBC iPlayer中为未来的观众体验进行WASM实验
-
WASI:一种新型的系统接口
-
Facebook如何将QUIC带给数十亿人
-
从沙盒中获取最大利益
-
探索架构概念 构建卡片游戏
-
使用Java的Apache Beam简介
-
谷歌为最新的C2D和N2D机器类型带来了机密计算
-
Java新闻综述。JEP 428,MicroStream加入Micronaut基金会,Spring和Apache Groovy更新
-
微软在其市场上推出NGINX for Azure作为SaaS解决方案的公开预览版
-
淘宝网上的 "淘宝客 "是什么意思?
-
淘宝网上的 "淘宝客 "是怎样炼成的?
-
淘宝网上卖的是什么?
-
谷歌在工作区引入新的AI功能
-
旧金山QCon会议。围绕绿色科技、微服务、API、MLOps等议题展开讨论
-
JEP 428:结构化并发以简化Java多线程编程
-
ML小组。\ML in Production - What's Next?
-
GitHub企业服务器3.5提高安全性,更新GitHub动作等
-
在文档中言之有物,建立更好的用户体验
-
谈到GitHub,他说:"GitHub是一个很好的平台,它可以为我们提供一个很好的平台,让我们可以在这个平台上工作。
-
谈到中国市场的未来发展,李彦宏说:"中国是世界上最大的经济体,我们的目标是成为世界上最大的经济体,我们的目标是成为世界上最大的经济体"。
-
敏捷框架Pipedrive。一个独角兽公司如何定制敏捷流程以扩大规模
-
淘宝网上的 "淘宝客 "是什么?
-
艾伦人工智能研究所开源人工智能模型检测工具LM-Debugger
-
淘宝网上的淘宝客是如何在A/B测试之外改进他们的实验的?
-
微软推出 "Dev Box "服务为开发者提供基于云的IDE服务
-
统一本地Java的标准。构建一个新的、可持续的、可持续的、可持续的、可持续的、可持续的、可持续的发展模式。
-
微软发布新的Power Platform产品,预览版中的Power Pages
-
架构化的并发性,Java转变成了一个 "大 "的概念。结构化并发,Java 27岁了,Micronaut 3.5.0
-
淘宝网上的 "淘宝客 "是什么?
-
淘宝网上卖的是什么?
-
淘宝网上的 "淘宝客 "们,你们的 "淘宝客 "们,你们的 "淘宝客 "们,你们的 "淘宝客 "们。
-
亚马逊Rekognition推出流媒体视频事件
-
新的GraphWorld工具加速了图形神经网络的基准测试
-
TensorFlow DTensor。统一API用于分布式深度网络训练
淘宝网上卖的是什么?
每周二发送的InfoQ上周的内容综述。加入由超过25万名资深开发者组成的社区。查看示例
输入您的电子邮件地址
选择您的国家 我同意InfoQ.com按照本隐私声明中的解释处理我的数据。
陌生人你好!
你需要注册一个InfoQ账户或登录,或登录后才能发表评论。但注册的背后还有很多东西。
从InfoQ的体验中获得最大的收益。
告诉我们你的想法
允许的html:a,b,br,blockquote,i,li,pre,u,ul,p
给我发邮件回复我在这个主题中的任何信息
社区评论
观察主题
关闭
您的回复
允许的html: a,b,br,blockquote,i,li,pre,u,ul,p
给我发邮件回复我在这个主题中的任何信息
取消
关闭
您的回复
允许的html: a,b,br,blockquote,i,li,pre,u,ul,p
给我发邮件回复我在这个主题中的任何信息
取消
关闭
认可
讨论
/filters:no_upscale()/sponsorship/topic/a64e7c1d-827c-4361-9e89-fc0bf7e0b960/vFunctionLogoRSB-1649081579192.png)
/minibooks/angular-mini-book-v2/en/smallimage/angular-book-s-1645176541549.jpeg)
/articles/network-proxy-stream-processor-pipy/en/smallimage/logo-1643366806668.jpg)
/presentations/full-stack-dart/en/smallimage/Chris-Swan-small-1653836204327.jpg)
/articles/testing-legacy-nodejs-app/en/smallimage/logo-1647854604716.jpg)
/presentations/webassembly-past-present-future/en/smallimage/qcon-plus-s-1647597875072.jpg)
/presentations/wasm-cloud/en/smallimage/qcon-plus-s-1646897768313.jpg)
/presentations/iplayer-wasm/en/smallimage/tim_pearce-s-1646650124451.jpg)
/presentations/facebook-quic-http3/en/smallimage/facebook-quic-http3-s-1642498804884.jpg)
/articles/exploring-architecture-building-game/en/smallimage/z-rSFqhA-1650577584417.jpg)
/articles/apache-beam-intro/en/smallimage/logo-1654186286213.jpg)
/presentations/OpenAPI-AsyncAPI-api-lifecycle/en/smallimage/kin-lane-s-1653893749094.jpg)
/presentations/ml-production-2021/en/smallimage/qcon-plus-s-1653893424852.jpeg)
/articles/pipedrive-unfixed-unicorn/en/smallimage/logo-1653983056124.jpg)
/articles/native-java-aligning/en/smallimage/standardizing-native-java-aligning-GraalVM-and-OpenJDK-small-1652792455627.jpg)