为什么 AngularJS 形式的 ng-pristine 类总是返回 true

问题描述 投票:0回答:1
html angularjs angularjs-directive angularjs-scope
1个回答
0
投票

我们需要给表单元素添加

ng-model
属性,这样 pristine 和 dirty 都会更新,之后就可以正常工作了。

Pristine 定义如下

原始:

ng-pristine 类表明表单尚未被用户修改。如果用户未修改表单,则返回 true。返回类型:如果用户未修改表单/输入字段,则返回 Boolean True,否则返回 False。

原始肮脏物品

下面的工作示例!

var module = angular.module("myModule", []);

module.controller("myController", function($scope) {
    $scope.su = su;
    $scope.results = "default";
    function su()
    {
        $scope.results = $scope.myForm.$pristine;
    }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.10/angular.min.js"></script>
<div ng-app="myModule">
  <div ng-controller="myController">
    <form name="myForm" ng-submit="su()">
      <input name="input1" type="text" ng-model="input1">
        <div class="info" ng-show="myForm.input1.$pristine"> 
            Now Pristine 
        </div> 
        <div class="error" ng-show="myForm.input1.$dirty"> 
            Now Dirty 
        </div> 
      <button id="button1" type="submit" >>>>>></button>
    </form>
    
    myForm.$pristine : {{myForm.$pristine}}
    
  </div>
</div>

© www.soinside.com 2019 - 2024. All rights reserved.