Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 角度ng模型不更新脏值_Angularjs_Angular Ngmodel - Fatal编程技术网

Angularjs 角度ng模型不更新脏值

Angularjs 角度ng模型不更新脏值,angularjs,angular-ngmodel,Angularjs,Angular Ngmodel,我想知道是否有可能“阻止”表单字段输入的更新,请选择。。。。由于用户交互,它是脏的。 如果我更新ng模型原语,即:将pippo从1设置为输入的X 即使手动编辑控件,也会得到更新 有可能防止这种情况发生吗 demo page: http://plnkr.co/edit/ClXoS7YVcEDtcApsNpde 输入字段每X秒计数一次。 如果我进入AAA,我希望更新停止,因为 输入由于用户交互而变脏。如果我有问题,也许这就是你想要做的 $scope.$watch("pippo", functio

我想知道是否有可能“阻止”表单字段输入的更新,请选择。。。。由于用户交互,它是脏的。 如果我更新ng模型原语,即:将pippo从1设置为输入的X 即使手动编辑控件,也会得到更新

有可能防止这种情况发生吗

demo page:

http://plnkr.co/edit/ClXoS7YVcEDtcApsNpde
输入字段每X秒计数一次。 如果我进入AAA,我希望更新停止,因为
输入由于用户交互而变脏。

如果我有问题,也许这就是你想要做的

$scope.$watch("pippo", function(){
  if($scope.pippotmp != $scope.pippo)
     $scope.useredited = true;
});
最新答案


您可以将模型与输入更改分开。。。在一个临时变量中

如果我得到一个问题,也许这就是你想要做的

$scope.$watch("pippo", function(){
  if($scope.pippotmp != $scope.pippo)
     $scope.useredited = true;
});
最新答案

您可以将模型与输入更改分开。。。在临时变量中

在输入元素上添加ngChange属性

用户键入时将调用userChanged,但当控制器中的其他方法更改pippo时将不会调用userChanged,因此我们可以在userChanged中设置一个标志,以指示输入是否已被用户覆盖


用户键入时将调用userChanged,但当控制器中的其他方法更改pippo时将不会调用userChanged,因此我们可以在userChanged中设置一个标志,以指示输入是否已被用户覆盖

您可以使用ngModelController来判断输入是否脏

将您的plunker修改为 更新函数看起来像

this.update = function() {
    if(!$scope.frmPippo.pippo.$dirty)
      $scope.pippo += 1;
}

您可以使用ngModelController来判断输入是否脏

将您的plunker修改为 更新函数看起来像

this.update = function() {
    if(!$scope.frmPippo.pippo.$dirty)
      $scope.pippo += 1;
}

我可能会把问题弄错,但如果我理解正确,那么ng模型选项就是您要寻找的

例如,您只能在用户离开输入时更新模型 ng模型选项={updateOn:'blur'}


您可以在文档中了解更多信息:

我可能会把问题弄错,但如果我理解正确,那么ng模型选项就是您要寻找的

例如,您只能在用户离开输入时更新模型 ng模型选项={updateOn:'blur'}


您可以在文档中了解更多信息:

不,我不能取消间隔,AAA这是用户输入,可以是任何内容。问题是用户修改了输入用户没有修改输入值否,我不能取消间隔,AAA这是用户输入,可以是任何内容。问题是用户已经修改了输入用户没有修改输入值只是在这个.update函数中添加验证在这个.update函数中添加验证