2016-08-22 4 views
1

Привет У меня есть код последующие:Установить цвет фона для DIV при использовании нг-повтора

angular.module("myApp", []).controller("myController", function($scope) { 
 
    $scope.boxList = [{ 
 
    color: 'red' 
 
    }, { 
 
    color: '#F8F8F8' 
 
    }, { 
 
    color: 'rgb(50, 77, 32)' 
 
    }]; 
 
});
.box { 
 
    width: 15px; 
 
    height: 25px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app="myApp" ng-controller="myController"> 
 
    <div ng-repeat="box in boxList" class="box" ng-style="{'background-color': box.color}"></div> 
 
</div>

Я хотел бы мертвую boxList с ng-repeat и установить background-color (текст , hex или rgb) для поля div. Поэтому должны быть три коробки с тремя разными цветами. Я попробовал его с ng-style (видел несколько примеров в stackoverflow), но он не работает. Что не так, какие-то идеи? Благодарю.

EDIT: РЕШЕНИЕ ->ng-style="{'background-color': box.color}

background-color должен быть в пределах ''.

+0

Привет! Не могли бы вы опубликовать результат, как ответ на свой вопрос? Я понимаю, что он еще не разблокирован, но как напоминание для более поздних –

+0

Привет @HopefulLlama Я просто пометил ответ как правильный, который так же, как и мой, так что все сделано. :) спасибо – MrBuggy

ответ

1

здесь вы идете:

angular.module("myApp", []).controller("myController", function($scope) { 
 
    $scope.boxList = [{ 
 
    color: 'red' 
 
    }, { 
 
    color: '#F8F8F8' 
 
    }, { 
 
    color: 'rgb(50, 77, 32)' 
 
    }]; 
 
});
.box { 
 
    width: 15px; 
 
    height: 25px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app="myApp" ng-controller="myController"> 
 
    <div ng-repeat="box in boxList" class="box" ng-style="{'background-color':'{{box.color}}'}"></div> 
 
</div>

Ты синтаксис был выключен, вы пропустили некоторые цитаты а также должен был использовать интерполяцию ({{variable}}) для рендеринга значения.

Это единственное, что я изменил: ng-style="{'background-color':'{{box.color}}'}", чтобы вы могли видеть разницу. Удачи;)

+0

Работает, спасибо. Я также поставил свой собственный soluton как редактирование в вопросе – MrBuggy

+0

да, я был в редакторе фрагментов и не понял, пока после того, как я отправил ответ, спасибо, что согласился с ним :) – Spluf

0

<div ng-app="myApp" ng-controller="myController"> 
 
     <div ng-repeat="box in boxList" class="box" style="background : {{box.color}}"> 
 
</div>

Думаю, что это нужно сделать, это

+0

вы также можете использовать ng-style = "{background: box.color}" в любом случае это хорошо, хотя –

Смежные вопросы