ng-стиль не применяется в Angular ng-repeat

#javascript #css #angularjs

#JavaScript #css #angularjs

Вопрос:

Я столкнулся с проблемой, используя Angular.js и директива ng-switch .

Я меняю свой стиль в своем контроллере, но он никогда не применяется в текущем представлении… :

Мой текущий вид с ng-repeat :

 <button class="btn btn-default btn-lg" type="button" ng-repeat="chambre in spooler" ng-style="{{chambre.style}}">{{chambre.libelle}}</button>
  

Мой код контроллера :

 $scope.spooler[id]["style"] = { 'background-color' : code_couleur  };
  

И часть контроллера по умолчанию :

 $scope.spooler = [{
                idt_zones : "1",
                libelle : "100",
                id_etat : 1,
                style: { 'background-color' : '#DE8C00' }
            }, {
                idt_zones : "2",
                libelle : "101",
                id_etat : 2,
                style: { 'background-color' : '#00983D' }
            }, {
                idt_zones : "3",
                libelle : "102",
                id_etat : 3,
                style: { 'background-color' : '#B9121B' }
            }];
  

Когда я хочу изменить стиль элемента, цвет фона меняется в исходном коде страницы, но он никогда не применяется к элементу в представлении.

Странная проблема Спасибо за все

Cdt

Комментарии:

1. Попробуйте style="{{chambre.style}}" вместо ng-style ИЛИ ng-style="chambre.style"

Ответ №1:

как правило, вы не должны использовать {{ }} при обращении к вашим переменным внутри ng- директив (ng-click, ng-show и т. Д.)

вы могли бы изменить его на:

 ng-style="chambre.style"
  

или вы могли бы поместить его в тег стиля:

 style="{{chambre.style}}"
  

Ответ №2:

Это должно быть ng-style="chambre.style" , см. Документацию