【发布时间】:2016-02-12 16:11:40
【问题描述】:
我可能只是在这里有点大脑冻结,但我被困在一个愚蠢的问题上。我有一个 angular/sails 应用程序,它允许用户填写表格,并在途中保存他们的进度,以便他们以后可以回来。
初始模型通过创建 (POST) 以通常的方式创建,然后通过更新 (PUT) 进行更改。问题是,当我删除一个键并保存时(即用户清除输入字段,导致 Angular 实际上从对象中删除键),它实际上并没有删除该键,因为更新的性质(尤其是在Sails) 是它只影响您在有效载荷中拥有的密钥,而让其他密钥保持原样。
让我尝试进一步解释......
已创建记录....
{
first : "Dan",
last : "Knight"
age : 40
}
更新有效负载 (PUT)....
{
first : "Danny"
// 'last' field not present as was cleared in form
age : 40
}
结果....
{
first : "Danny",
last : "Knight"
age : 40
}
想要的结果....
{
first : "Danny",
age : 40
}
我意识到我可能应该设置为 null 而不是删除该字段,但我能做到这一点的唯一方法是为每个表单字段设置一个 $watch,如果我检测到“”(空字符串),我真的不想设置几十个观察者,看起来很乱。
有什么想法吗?
【问题讨论】: