試圖做一些我認爲很簡單的事情,但事實證明它很煩人。我只是試圖使用ng-checked指令單擊複選框時運行的函數。ANGULARJS:函數我在ng-checked指令中運行無限
這是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檢查函數無限運行。是否有關於ng-checked指令我不知道,或者一些小細節或忘記了?提前致謝。
嗯,是的。它會調用它,它會改變optionalPayment的值,然後再次調用它以查看模型現在是否穩定,並將其更改回其上一個值等等。我無法理解您想要實現的目標。你甚至沒有從方法中返回任何東西。您想做什麼? –
我只是試圖做一個複選框,它是沒有選中的TournamentConst.PAYMENT.OPTIONAL,以及選中它時的TournamentConst.PAYMENT.MANDATORY。 – amacdonald
這就是ng-true-value和ng-false-value的用途。不是ng檢查。 HTTPS://docs.angularjs。org/api/ng/input/input%5Bcheckbox%5D –