Angular 当 for 处于原始状态时,表单变为原始状态
Angular form to pristine when for is in original state
我有一个表单,其中包含范围内对象的预设值。当我修改一个表单字段(例如名称字段)并将其从 Bob 更改为 Bobby 时,表单现在是 dirty
但是如果我删除名称末尾的 "y" 和 "b"该表格现在处于原始状态,但仍然是 dirty
。当表格与开始时相同时,如何将其变为 return 到 pristine
?我将原始状态保存在范围内,以便可以比较它们,但我没有将如何实现这一点联系起来。
这是一个显示我在上面描述的相同行为的示例:
在你的控制器中尝试类似下面的操作,然后使用 ng-change 调用该函数。
$scope.resetWhenUnchanged = function()
{
if (original === $scope.modifiedValue) {
$scope.personForm.field.$setPristine();
}
};
我有一个表单,其中包含范围内对象的预设值。当我修改一个表单字段(例如名称字段)并将其从 Bob 更改为 Bobby 时,表单现在是 dirty
但是如果我删除名称末尾的 "y" 和 "b"该表格现在处于原始状态,但仍然是 dirty
。当表格与开始时相同时,如何将其变为 return 到 pristine
?我将原始状态保存在范围内,以便可以比较它们,但我没有将如何实现这一点联系起来。
这是一个显示我在上面描述的相同行为的示例:
在你的控制器中尝试类似下面的操作,然后使用 ng-change 调用该函数。
$scope.resetWhenUnchanged = function()
{
if (original === $scope.modifiedValue) {
$scope.personForm.field.$setPristine();
}
};