AngularJS에서 $setPristine
함수를 사용하여 텍스트 상자를 재설정하려고했지만 원하는 동작이 나타나지 않습니다.
내 양식은 다음과 같습니다
<form name="addInviteForm" ng-controller="InviteCtrl" ng-submit="sendInvitation(userEmail)">
Pristine? {{addInviteForm.$pristine}}
<!-- email input -->
<div>
<input type="email" name="email" ng-model="userEmail" placeholder="Enter email here" class="line-item-input see" required>
<span class="error" ng-show="addInviteForm.email.$error.email" style="color:red">Invalid Email</span>
</div>
<!-- submit button -->
<input type="submit" name="send" class="btn btn-success center" value="Send Invitation">
</form>
그리고 내 컨트롤러에서 해당 코드 :
$scope.sendInvitation = function(userEmail) {
// do some work here ...
// hmm, this doesn't seem to work ...
$scope.addInviteForm.$setPristine();
};
를 양식 $pristine
이 다음 양식 항목에 true
로 설정 false
으로 설정되어 있는지 보여주고 있지만 텍스트 상자에 데이터를 입력 할 때 양식을 제출 한 후 실제로 이 true로 설정되어 있음을 나타내지 만 텍스트 상자의 값은 제출 단추 이전과 동일하게 유지됩니다 눌렀다.
무엇이 여기에 있습니까?
감사합니다. 'UserEmail'을'InviteCtrl'의 범위 안에있는 변수에 바인딩하고 제출시 그 변수를 재설정하는 것이 트릭을 완료 한 것처럼 보입니다. – dtg
내가 말할 것입니다 만, 문서화가 그렇게 명확하지는 않습니다. 즉, 컨트롤의 "상태"와 컨트롤의 현재 "가치"사이의 의미적인 차이는 전혀 분명하지 않습니다 .... – dtg