Tengo una matriz de objetos que se ve así:
pausedAssessments = [ { id: 0, name: 'Name 1', paused: false }, { id: 1, name: 'Name 2', paused: false }, ]Luego renderizo algo de HTML para cada evaluación:
<div ng-repeat="pausedAssessment in pausedAssessments"> <span class="switch"> <input ng-model="pausedAssessment.paused" name="{{pausedAssessment.name}}" ng-change="onPauseResumeAssessmentHandler(pausedAssessment)" type="checkbox" toggle-btn on-type="success"> </span> </div>Y mi función ng-change se ve así:
$scope.onPauseResumeAssessmentHandler = function onPauseResumeAssessmentHandler(systemAssignedAssessment) { const { id, paused } = systemAssignedAssessment; const clientId = $scope.client.clientId; AssessmentsService.pauseResumeAssessment(clientId ,id, !paused); }; Ahora, dado que mi casilla de verificación de entrada está vinculada a pausedAssessment.paused , si la marco, la propiedad en pausa se vuelve verdadera y la casilla de verificación se marca, sin embargo, solo quiero que se marque si AssessmentsService.pauseResumeAssessment(clientId ,id, !paused); no falla ya que es una solicitud POST.
Por ejemplo, si la casilla de verificación no estaba marcada y la hice clic, me gustaría que verificara solo si la solicitud POST se realiza y que permanezca sin marcar o que se desmarque si la solicitud POST falla.
Mi problema es que, dado que está enlazado, cambia la propiedad en pausa a verdadera y se comprueba tan pronto como se hace clic.