L’événement de modification est appelé uniquement après la modification du focus de l’entrée. Comment puis-je faire en sorte que l’événement se déclenche à chaque pression de touche?
{{mymodel}}
La deuxième liaison change à chaque pression sur une touche.
Je viens d’utiliser l’entrée de l’événement et cela a fonctionné comme suit:
dans le fichier .html:
dans le fichier .ts:
onSearchChange(searchValue : ssortingng ) { console.log(searchValue);}
Utilisez ngModelChange
en décomposant la syntaxe [(x)]
en ses deux parties, à savoir la liaison de données de propriétés et la liaison d’événements:
{{mymodel}}
valuechange(newValue) { mymodel = newValue; console.log(newValue) }
Cela fonctionne aussi pour la touche de retour arrière.
{{mymodel}}
Voyons pourquoi:
L’événement secret qui maintient la synchronisation angular de ngModel est l’ entrée d’ appel d’événement. Par conséquent, la meilleure réponse à votre question devrait être:
{{mymodel}}
Une autre façon de traiter ces cas est d’utiliser formControl et de vous abonner à valueChanges
lorsque votre composant est initialisé, ce qui vous permet d’utiliser les opérateurs rxjs pour des exigences avancées telles que les requêtes http, valeur et omettre précédent, …
import {Component, OnInit} from '@angular/core'; import { FormControl } from '@angular/forms'; import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; @Component({ selector: 'some-selector', template: ` ` }) export class SomeComponent implements OnInit { private searchControl: FormControl; private debounce: number = 400; ngOnInit() { this.searchControl = new FormControl(''); this.searchControl.valueChanges .pipe(debounceTime(this.debounce), distinctUntilChanged()) .subscribe(query => { console.log(query); }); } }
archive .ts
myMethod(value:ssortingng){ ... ... }
Ce que vous cherchez est
{{mymodel}}
Ensuite, faites ce que vous voulez avec les données en accédant à la liaison this.mymodel
dans votre fichier .ts.