首页 > 解决方案 > 如何通过 ngModel 自动创建不存在的字段

问题描述

我从 AngularJS 迁移并反驳说,如果我将不存在的属性传递给ngModel它会产生错误:无法读取未定义的属性“统计信息”

<input [(ngModel)]="data.main.stats.wealth" />

其原因仅data在构造函数中定义:

constructor() {
    this.data = {}
}

顺便说一句,AngularJS 是智能的并且会自动重建所有路径。它甚至在文档中描述:

ngModel将尝试绑定到通过评估当前作用域上的表达式给出的属性。如果此范围内尚不存在该属性,则会隐式创建该属性并将其添加到范围中。

它现在破坏了很多代码。我不能到处设置猫王运算符...

标签: angularjsangularmigration

解决方案


推荐阅读