생각하는 것을 시도하는 것은 꽤 간단하지만 꽤 짜증나게됩니다. 나는 ng-checked 지시문을 사용하여 체크 박스를 클릭 할 때 실행되는 함수를 갖기 위해 노력하고있다. ANGULARJS : ng-check 지시문에있는 함수가 무한히 실행됩니다.
이
는 HTML입니다 :<div class="form-group">
<label class="col-sm-2 control-label">Make Payment Optional</label>
<div class="col-sm-4 center-checkbox">
<input type="checkbox"
class="center-checkbox"
ng-model="formData.optionalPayment"
ng-checked="optionalPaymentCheckbox();"
validate-servererror="featured"/>
</div>
</div>
그리고 이것은 각도입니다 :
if($scope.formData.optionalPayment === undefined) {
$scope.formData.optionalPayment = TournamentConst.PAYMENT.OPTIONAL;
}
(이 검사는 내가 처음으로 페이지를로드 할 때를 위해 단지이다.)
$scope.optionalPaymentCheckbox = function() {
if($scope.formData.optionalPayment === TournamentConst.PAYMENT.OPTIONAL) {
$scope.formData.optionalPayment = TournamentConst.PAYMENT.MANDATORY;
} else {
$scope.formData.optionalPayment = TournamentConst.PAYMENT.OPTIONAL;
}
};
페이지를로드 할 때이 확인 기능이 무한히 실행됩니다. ng-checked 지시어에 대해 뭔가 모르는가, 아니면 약간의 세부 사항이나 잊어 버린 내용이 있습니까? 미리 감사드립니다.
음, 그렇습니다. 이 함수를 호출하면 optionalPayment의 값이 변경되고 모델이 현재 안정적인지, 다시 모델을 다시 호출하는지 등의 정보가 다시 호출됩니다. 달성하고자하는 것을 이해하지 못합니다. 이 방법으로 아무것도 반환하지 않았습니다. 뭐하고 싶어? –
선택하지 않은 경우 TournamentConst.PAYMENT.OPTIONAL이고 선택하면 TournamentConst.PAYMENT.MANDATORY 인 체크 박스를 만들려고합니다. – amacdonald
이것은 ng-true-value 및 ng-false-value가있는 것입니다. 확인되지 않았습니다. https : //docs.angularjs.org/api/ng/input/input % 5Bcheckbox % 5D –