当处于原始状态时,角形形成原始状态

时间:2016-09-22 22:14:47

标签: angularjs forms angularjs-scope 2-way-object-databinding

我有一个表格,其中包含范围内对象的预设值。当我修改表单字段(例如名称字段)并将其从Bob更改为Bobby时,表单现在为dirty但如果我从名称末尾删除“y”和“b”,则表单现在为处于原始状态但仍然是dirty。当表单与开始时相同时,如何让它返回pristine?我将原始状态保存在范围内,以便对它们进行比较,但我并没有就如何实现这一点进行连接。

这是一个示例,显示了我上面描述的相同行为:

http://www.angularjshub.com/examples/forms/formreset/

1 个答案:

答案 0 :(得分:0)

在控制器中尝试类似下面的内容,然后使用ng-change调用该函数。

$scope.resetWhenUnchanged = function()
{
    if (original === $scope.modifiedValue) {
        $scope.personForm.field.$setPristine();
    }
};