Können Sie mir bitte vorschlagen, wie geklickt Schaltfläche Farbe basierend auf $ HTTP-Antwort ändern. Sollte ich Richtlinien verwenden oder nicht? Bitte vorschlagen.
2
A
Antwort
2
Erstellen Sie einfach eine Bereichsvariable $scope.buttoncolor
und stellen Sie sie entsprechend Ihrer Anforderung ein, wenn Sie die $http
Antwort erhalten.
app.controller('myCtrl', function($scope, $http) {
...
...
$http.get("welcome.htm")
.then(function(response) {
$scope.buttoncolor = response.data.buttoncolor;
});
});
und in Ihrem HTML, stellen Sie die Farbe der Schaltfläche ng-style
<button ng-style="{'background-color': buttoncolor }">button</button>
EDIT
ich diese plunker erstellt haben verwenden.
0
Schauen Sie sich das Beispiel:
angular.module('app', []).controller('parentCtrl1', function($scope, $http) {
$scope.makeRequest = function(event) {
var d = angular.toJson(model);
return $http.get('file.json');
};
}).controller('parentCtrl2', function($scope, $http) {
$scope.makeRequest = function(event) {
return $http.get('/not/an/api/call');
};
}).directive('colorBtn', function($log) {
return {
replace: true,
link: onLink,
template: '<button ng-click="request($event)">Request</button>',
scope: {
onClick: '&clickcb'
}
}
function onLink(scope, el, attrs) {
scope.request = function($e) {
el.removeClass('error').removeClass('success');
if (scope.onClick !== undefined) {
scope.onClick({
event: $e
})
.then(success, error);
}
};
function success(response) {
el.addClass('success');
}
function error(response) {
el.addClass('error');
}
}
});
Verbrauch:
<div class="parent-1" ng-controller="parentCtrl1">
<color-btn clickcb="makeRequest(event)"></color-btn>
</div>
<div class="parent-2" ng-controller="parentCtrl2">
<color-btn clickcb="makeRequest(event)"></color-btn>
</div>
<style type="text/css">
.error { background-color: red; color: white; }
.success { background-color: green; color: white; }
</style>
Arbeiten Plunker: https://embed.plnkr.co/mvpKeGBvdKKnil3QeWuf/
Verwandte Themen
- 1. Ändern der Farbe der Schaltfläche mit Thema
- 2. Ändern der Farbe der AlertDialog.Builder-Schaltfläche
- 3. Ändern Sie die Farbe der Schaltfläche Text in einen Hexavalue
- 4. Quiz App, ändern Sie die Schaltfläche Farbe der falschen und richtigen Antwort auf die falsche Antwort Auswahl, Android
- 5. Ändern Sie die Farbe der Aktion Schaltfläche in glänzend
- 6. Verwenden von Bootstrap zum Ändern der Farbe der Schaltfläche
- 7. Farbe der Schaltfläche in DataGridView-Zelle ändern
- 8. Ändern der Schaltfläche Tag Grenze Farbe
- 9. Ändern der Farbe in einem Zeichen auf einer Schaltfläche Text
- 10. So ändern Sie die Farbe der Statusleiste
- 11. Ändern Sie die Farbe der Schaltfläche in der Mitte von Uiscrollview
- 12. So ändern Sie die Farbe der Listeneinträge
- 13. Ändern Sie die Farbe der UINavigationBar
- 14. iOS: Ändern Sie die Farbe meiner UIButton, wenn das Hintergrundbild gleiche Farbe der Schaltfläche
- 15. So ändern Sie die Farbe des Vektor-Zeichenpfads auf Knopfdruck
- 16. Ändern der Farbe von AppCompatSeekBar
- 17. WPF - IntegerUpDown - Ändern der Farbe der Spinner-Schaltfläche
- 18. Ändern der Farbe von Diagrammtiteln
- 19. Ändern Sie die Schriftgröße vollständig auf Text in der Schaltfläche?
- 20. Ändern der Schaltfläche Bild nach der Antwort vom Server
- 21. Ändern der Farbe der jQuery UI-Schaltflächen
- 22. Javascript - Formularaktion auf der Grundlage der Auswahl ändern?
- 23. So ändern Sie die Farbe der Form in Bildansicht eingestellt
- 24. Ändern Sie die Farbe der Taste in der Foreach
- 25. Ändern Sie die Farbe der Taste in der Foreach-Codekennzeichner
- 26. Ändern Sie die Farbe eines Polygons dynamisch in der Broschüre?
- 27. Android: Einstellen der Höhe der Schaltfläche in XML auf der Grundlage der Breite
- 28. So ändern Sie die Farbe der Statusleiste entsprechend der Farbe der Ebene einer Ansicht
- 29. Ändern Sie die Farbe der roten Taste in Bearbeitungstabelle
- 30. Ändern von Text auf der Schaltfläche beim Speichern mit angularjs
Ja, sollten Sie Richtlinien verwenden. – Skaparate
@Skaparate Bevor jedoch die $ http-Antwort abgerufen wird, wird die Direktive ausgeführt. Kannst du mir bitte sagen, wie ich das einschränken kann? – Sairam
Erfüllt die Richtlinie die Anfrage? Was ist der Arbeitsfluss? – Skaparate