2016-02-02 2 views
1

Как изменить цвет элементов, используя классы css с угловыми js. Я читал некоторые вещи в Интернете, но почему-то я чего-то не хватает, потому что это не работает для меня.Как изменить цвет элементов с помощью angular.js

Моя скрипка расслоение плотной:

http://jsfiddle.net/ynko3ct3/1/

Код:

<p class="change-background-color">No difference!</p> 
<form> 
<div class="form-group"> 
     <label>Header color</label> 
     <input class="form-control" type="text" ng-model="Headercolor" placeholder="#f00"> 
    </div> 
    </form> 

CSS

.change-background-color { background-color: {{Headercolor}}; } 

ответ

1

вы можете также проверить эту ссылку: PLUNKER DEMO

нужно использовать ng-style="yourVariableName" в вашем <p></p> теги и вызова функция изменения поля ввода для установки цвета поля ввода для метки <p></p>.

В HTML:

<p ng-style="backColor">this is a simple background color seter</p> 
<input ng-model="headerColor" ng-change="setColor()"> 

и в контроллере:

$scope.headerColor = '#cd0a0a'; 
    $scope.backColor = {'background-color':$scope.headerColor}; 
    $scope.setColor = function() { 
    $scope.backColor = {'background-color':$scope.headerColor}; 
    }; 
+0

Могу ли я использовать то же самое из директивы? – Imo

+0

yep, вы можете из директивы –

4

Пожалуйста, проверьте обновленный fddle: http://jsfiddle.net/ynko3ct3/2/

Вы должны использовать ng-style директиву, чтобы изменить атрибут стиля в HTML, не в CSS так:

<p class="change-background-color" ng-style="{'background-color':Headercolor}"> 
    No difference! 
</p> 
+0

Есть ли способ, где я не должен многое изменить в HTML. Проблема в том, что есть много элементов, таких как ссылки, и я не хочу идти и добавлять ng-стиль во всем мире. – Imo

+0

Angular v1.x может повлиять на ваш HTML, шаблоны - только если вы измените их соответствующим образом. но никогда ваш CSS – shershen

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