angular 输入复选框删除字段

angular input checkbox remove field

我正在与 angular 输入复选框作斗争。我有一个简单的输入,看起来像这样...

<input type="checkbox" ng-model="selectedExercise.isTimed"   required/>

但是,当我取消选中该框时,它会从我的对象中删除 .isTimed 字段,而我想将其设置为 false。例如...

已检查

{
  "name": "Work",
  "isTimed": true,
  "duration": 3,
}

未选中

{
  "name": "Work",
  "duration": 3,
}

我已经通过添加一个 ng-change 函数来解决这个问题,但它是超级 hack,因为它只是检查 angular 是否删除了该字段,然后重新添加它。是否有正确的方法来设置我的输入复选框,以便 angular 在复选框未选中时不会删除对象字段?

这可能与处理复选框的方式有关。当它们为真时,它们往往只 return 一个值。但是,使用 angular 您可以覆盖它并捕获任一状态。

<input type="checkbox" ng-model="selectedExercise.isTimed" ng-true-value="yep" ng-false-value="nope"   required/>

我有同样的问题。您可以通过删除复选框中的 "required" 来解决它。据我了解,这只是