当下拉列表更改AngularJS中的值时,如何获取表单的$ pristine状态?

时间:2018-07-11 02:15:09

标签: angularjs

我有一个下拉菜单,一个选择元素,带有一个ng-change事件处理程序。我想知道表单在用户选择之前是否原始。如果我在处理程序中检查$ pristine值,则它不是原始数据。在生命周期中为时已晚。如何获取表单的原始状态并在select值或其背后的model属性更改之前保存其值?

1 个答案:

答案 0 :(得分:2)

如何在表单上为ngFocus添加另一个处理程序,获取值并分配给$ scope变量,然后在ngChange处理程序中读取该值。

类似这样的东西:

$scope.pristine = true;
$scope.focusHandler = function() {
  $scope.pristine = $scope.myForm.$pristine;
};
$scope.changeHandler = function() {
  // $scope.pristine is what your want
  console.log($scope.pristine);
};