AngularJS, löschen Sie die Eingabe von text mit der Taste
Mit AngularJS
, was ist der richtige Weg, um löschen Sie den Wert von einem Textfeld? Ich habe ein input-Feld mit einem button daneben. Der Benutzer tippt es und trifft die-Taste zum löschen oder zurücksetzen.
Ich weiß, ich kann hinzufügen, ein ng-click
- Ereignis auf dem button selbst und rufen Sie eine Funktion auf, aber ich bin nicht sicher, ob das der richtige Weg, es zu tun.
Recht jetzt alles was ich habe ist:
<input type="text" ng-model="searchQuery" />
<button class="btn" <!--do something here maybe?-->>
<i class="icon-search" ng-class="{'icon-refresh': searchQuery.length}"></i>
</button>
Du musst angemeldet sein, um einen Kommentar abzugeben.
ng-click
ist der "Eckige" Weg, es zu tunnur deklarieren Sie eine Funktion in Ihrem Bereich und bringen Sie den button ng-click
Wenn Sie wollte etwas Fortgeschrittener ist, dann ist das "Winkel-Weg" schlägt die Schaffung einer Richtlinie wickeln Sie das von Ihnen gewünschte Funktionalität in es und befestige es irgendwie an Ihren button (je nachdem, wie Sie bei der Umsetzung Ihrer Richtlinie)
Wenn Sie wollen, ein Beispiel, lassen Sie mich wissen in den Kommentaren
$scope.resetSearch = function(){$scope.searchQuery = "";}
Ich hatte das gleiche problem. Vielleicht ist einfach am besten?
Keine Notwendigkeit für den Aufruf einer Methode im controller. Keine Notwendigkeit für eine Richtlinie entweder. Nur eine kurze Anweisung deaktivieren Sie das Modell, das erklärt, in dem input-tag. Wie diese:
Können Sie auch ausblenden die Schaltfläche löschen, wenn kein text in der Eingabe, wie diese:
Durch die Art und Weise, vielleicht eine Richtlinie, dass die clear-Taste innerhalb der input-box wäre schön. So etwas wie auf dem iPhone.
searchQquery
.