Angular迁移至NX单体仓库后模型未设置属性显式为undefined的原因排查
问题:迁移至NX单体仓库后,未设置的模型属性被显式设为undefined
我们近期将多个Angular 16项目迁移至基于Angular 17的NX单体仓库,整体运行正常,但模型出现异常行为:迁移前未设置的属性不会被展示,如今却被显式设置为“undefined”。这会导致调用HTTP API时出现问题,因为API会将“undefined”视为有效值。
示例对比
迁移前示例:

迁移后示例:

已排查的配置项
我曾怀疑是TypeScript配置变更,比如启用了strictPropertyInitialization:
{ "compilerOptions": { "strictPropertyInitialization": true } }
但该选项已设置为false(此为编译配置项)。
核心疑问
是什么原因导致了这种行为变化?
补充说明:我在同一单体仓库中使用Angular 16也能复现该新行为,因此与Angular 17无关,可能是TypeScript新版本或全局配置导致,但无法确定具体项。
内容的提问来源于stack exchange,提问作者ALansmanne
相关产品推荐
相关产品推荐

