1

Ich habe folgende zwei Knöpfe, die unter Bedingung angezeigt werden müssen. Ich habe folgenden Code, es funktioniert gut, aber nur Problem ist es flackert und zeigt eine Schaltfläche und verschwindet selbst wenn die Bedingung fehlschlägt.wie man diese Logik und Bedingung in ng-switch schreibt, um das Flackern eines Gegenstandes für eine Sekunde zu vermeiden, selbst wenn die Bedingung nicht erfüllt ist

Es gibt einen Ansatz, um dies zu lösen, mit ng-Switch. Wie schreibe ich das in ng-switch? Könnte mir bitte jemand mit dem Code helfen und vielleicht auch in der Geige.

<button type="button" id="saveEnabled" ng-click="ctrl.onClick()" ng-if="ctrl.Status !== 'Clicked'">Save</button> 
    <button type="button" id="saveDisabled" disabled="disabled" ng-if="ctrl.Status === 'Clicked'">Saved</button> 


ctrl.onClick = function() { 
     ctrl.Status = 'Clicked'; 
    }; 
+0

Können Sie nach einer Arbeitsprobe verwenden könnte? Auch ich verstehe dein genaues Problem nicht, was meinst du mit "Bedingung fehlgeschlagen" und zeigt einen Knopf an und verschwindet? –

+0

@JasonGoemaat: Ich konnte das ng-swicth Konstrukt schreiben, aber es hilft nicht mein Flackern Problem zu lösen. – Learner

+0

Ich kann dein Problem nicht verstehen, wann genau flackert es? –

Antwort

1

Für etwas so einfach, dass man einen Knopf und einen ternären Operator

<button type="button" ng-attr-id="{{ctrl.Status !== 'saveEnabled' ? 'saveEnabled' : 'saveDisabled'}}" ng-click="ctrl.Status !== 'Clicked' ? ctrl.onClick() : return">{{ctrl.Status !== 'Clicked' ? 'Save' : 'Saved'}}</button> 



ctrl.onClick = function() { 
     ctrl.Status = 'Clicked'; 
    }; 
+0

Danke, das scheint gut zu funktionieren, aber ein kleines Problem. Wie die Taste deaktivieren, wenn es zeigt „Saved“ Ich meine, auf Speichern klicken, ändert sich Texte, aber ich möchte auch diese – Learner

+0

wird diese Arbeit abgeblendet haben? Ich bekomme einen Fehler, der besagt, dass das Tag nicht aufgelöst werden kann .... disabled = "{{ctrl.Status === 'Geklickt'? 'True': 'false'}}" – Learner

+0

Ich habe ng-disabled = "{{ctrl. Status === 'Geklickt'? 'True': 'false'}} "Es funktioniert nicht – Learner