Wie kann ich die Hintergrundfarbe mit ng-style ändern?Hintergrundfarbe mit ng-Style ändern
dieser Div wird wiederholen, so dass der eine der Farbe von DB ist. Für die plnkr i fixiert nur die Farben, sondern in meinem Beispiel ist wie folgt:
<div class="col-md-offset-0 col-md-2" ng-repeat="type in types" style="margin-bottom:5px;">
<div class='container' divCheckbox ng-style="{'background-color':(isSelected?'{{type.color}}':'#ccc')}>
<input type='hidden' ng-model="type.show" />
<div class="label">{{type.name}}</div>
</div>
</div>
und die Richtlinie:
.directive('divCheckbox', function() {
return {
restrict: 'A',
link: function (scope, el, attr) {
scope.isSelected = el.find('input').val() == 'false';
el.on('click', function() {
scope.isSelected = !scope.isSelected;
scope.$apply();
});
}
}
});
Heres mein plnkr: http://plnkr.co/edit/onLA8vSbtwQu1OxZrKzT?p=preview
Tks Shomz, nur eine Frage, wie in der Richtlinie auf die Daten von DB zugreifen kann (die Zeile im Moment hört), weil die Farbe aus der DB ist „{{type.color}}“ – Luis
Gern geschehen. Hmmm, im Idealfall könnten Sie einen Dienst in den Controller einfügen und die Daten so holen (einfach den Farbwert einer richtigen Variablen zuweisen, die Sie in der Ansicht verwenden). Der Service wäre zuständig für das Abrufen der Daten aus der Datenbank. – Shomz
Shomz, ändern Sie es einfach in ng-style = "{'Hintergrundfarbe' :(isSelected? '{{Type.color}}': '# ccc')} wie Sie sagten, aber aus irgendeinem Grund funktioniert nicht In der Konsole geben Sie mir keine Fehler – Luis