ich folgendes Problem bin vor:ng-Klasse funktioniert nicht gut auf der Binding-Variable, wenn schnell umgeschaltet, ist das möglich?
<input
type = "text"
class = "class1 class2"
placeholder = "Type here..."
autocomplete = "off"
ng-model = "searchKeyword"
name = "searchId"
ng-class = "{'my-class1': myObject.myAttribute,'my-class2': myObject.myFunction()}" //<-- HERE IS THE PROBLEM
ng-disabled = "myObject.myFunction()"
ng-change = "searchConditionChanged()" numbers-only />
meisten Zeit myObject.myFunction()
falsch zurück, aber es ist nur eine kurze Zeit, dass es wahr zurückgibt.
Auf meiner Webseite kann ich sehen, dass die Klasse "my-class2"
korrekt zu <input>
hinzugefügt wird, aber danach sollte die Klasse entfernt werden, wenn myObject.myFunction()
wieder false zurückgibt.
Aber die Frage ist, warum die "my-class2" -Klasse hinzugefügt wird, aber NICHT entfernt. Die Klasse ist immer noch in der DOM-Struktur, wenn ich die Funktion sehe, die in console.log()
false zurückgibt.
Es wird sich nicht ändern, auch wenn ich $scope.$apply()
oder $scope.$digest()
erzwinge Update zu erzwingen.
Klasse "my-class1" bindet an myObject.myAttribute
. Es hat das gleiche Problem.
Etwas anderes, das mich sehr verwirrt, ist, dass, wenn wahr von myObject.myFunction()
dauert ein wenig länger (wie 500ms), ng-Klasse immer richtig gesetzt Klasse.
Jede Hilfe wird geschätzt!