Jak zmienić kolor tła za pomocą ng-style?Zmień kolor tła za pomocą ng-Style
ten DIV powtórzyć, więc jeden z kolorów jest z DB. Dla plnkr Właśnie stałe kolory, ale w moim przykładzie jest tak:
<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>
I dyrektywy:
.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();
});
}
}
});
Herezje mój plnkr: http://plnkr.co/edit/onLA8vSbtwQu1OxZrKzT?p=preview
TKS Shomz, tylko pytanie, w jaki sposób można uzyskać dostęp w dyrektywie danych z DB (wiersz słucha w tej chwili), ponieważ kolor jest z DB „{{type.color}}” – Luis
Nie ma za co. Hmmm, najlepiej możesz wprowadzić usługę do kontrolera i pobrać takie dane (po prostu przypisując wartość koloru do odpowiedniej zmiennej używanej w widoku). Usługa będzie odpowiedzialna za pobieranie danych z bazy danych. – Shomz
Shomz, po prostu zmień go na ng-style = "{'background-color' :(isSelected? '{{Type.color}}': '# ccc')} tak jak powiedziałeś, ale z jakiegoś powodu nie działa w konsoli nie podawaj mi żadnych błędów – Luis