Ich habe die Funktion $scope.click
geändert, um den Eingabe-Klick in setTimeout
auszulösen. Dadurch wird der erste $apply
beendet und anschließend ein weiterer ausgelöst.
Beachten Sie, dass ich setTimeout
, nicht $timeout
verwende. $timeout
würde auch innerhalb eines $apply
Blocks liegen.
Ich bin gerade auf dieses Problem gestoßen und habe einen Tropfen in die Lösung geschrieben. Sie können eine benutzerdefinierte Anweisung schreiben, die aus einem Container, einer Schaltfläche und einem Eingabeelement mit der Dateityp besteht. Mit CSS platzieren Sie dann die Eingabe über die benutzerdefinierte Schaltfläche, aber mit Deckkraft 0. Sie legen die Container Höhe und Breite genau auf die Offset-Breite und Höhe der Schaltfläche und die Höhe und Breite der Eingabe auf 100% des Containers.
die Richtlinie
%Vor%Eine Jade-Vorlage, wenn Sie Jade verwenden
%Vor%die gleiche Vorlage in HTML, wenn Sie HTML verwenden
%Vor%das CSS
%Vor%Tags und Links angularjs