0

Je veux déclencher l'événement de changement de la case deux en cochant la case un. Jusqu'à présent, après que la deuxième est vérifiée lorsque la première est vérifiée. Mais je ne pouvais pas seconde pour tirer son événement de changement Voici mon code Ceci est mon code modèleAngulaire Comment déclencher l'événement de changement de case après le changement de valeur du modèle?

<input [ngModel]="firstOne" (ngModelChange)="someEvent($event)" type="checkbox"> 
<input [ngModel]="secondOne" (ngModelChange)="secondEvent($event)" type="checkbox"> 

Code contrôleur

this.firstOne:boolean=false; 
this.secondOne:boolean=false; 

constructor(){} 
someEvent(event){ 
    this.secondOne = true; 
} 

secondEvent(event){ 
alert("second is triggered") 
} 

Merci pour toute suggestion. J'ai une arborescence de case à cocher avec leur itemId et parentId. Lors de l'initialisation, l'API que j'utilise fournit l'itemId du dernier enfant. Donc, mon idée est de cocher la case du dernier enfant en utilisant itemId puis de déclencher des événements qui vont vérifier ses parents en utilisant son parentId provoquant une vérification de chaîne.

+1

Il n'est pas censé déclencher un événement de modification lorsque le modèle est mis à jour. Vous pouvez appeler 'secondEvent()' depuis 'someEvent()' et vice versa pour obtenir le même effet. Vous auriez besoin de passer un paramètre pour éviter une boucle sans fin. –

+0

@ GünterZöchbauer Y at-il un moyen de le faire? De la case à cocher? Je n'ai pas de paramètres disponibles dans someEvent. –

+0

Vous auriez juste besoin de passer une valeur quand vous appelez l'un de l'autre, pas quand vous l'appelez de la liaison d'événement. De cette façon, vous pouvez distinguer si vous devez appeler l'autre méthode. Si cela ne vous aide pas, veuillez fournir plus d'informations sur le problème que vous essayez de résoudre (au lieu de déclencher un événement) –

Répondre

0

Si vous avez besoin de mise à jour le statut vérifié utiliser

[checked]="secondOne" 

Vous ne pouvez pas appeler l'événement d'une autre case. Vous pouvez uniquement appeler la méthode à partir d'une autre méthode.

constructor(){} 
someEvent(event){ 
    this.secondOne = true; 
    this.secondEvent(); 
} 

secondEvent(event?){ 
alert("second is triggered") 
}