Данные директивы служат стилизации элементов. Объявим в контроллере два объекта:
<!DOCTYPE html> <html ng-app="studyModule"> <head> <title>ng-class and ng-style</title> <script src="../angular.min%20.js"></script> <link href="../bootstrap-theme.css" rel="stylesheet" /> <link href="../bootstrap.css" rel="stylesheet" /> <script> angular.module("studyModule", []) .controller("studyCtrl", function ($scope) { $scope.tasks = [ { action: "Buy flowers", complete: false }, { action: "Go to gym", complete: false }, { action: "Buy snickers", complete: true }, { action: "Buy notebook", complete: false }, { action: "Call friends", complete: false }, { action: "Go to cinema", complete: false }, { action: "Buy Big-Mac", complete: true }, { action: "Buy a book", complete: false }, { action: "Call mom", complete: false } ]; $scope.buttonNames = ["Red", "Green", "Blue"]; $scope.settings = { Columns: "Green", Rows: "Red" }; //Columns исользуется для того, чтобы задать фон для колонки Done //Rows используется для того, чтобы задать цвет для строк <tr> }); </script> <style> tr.Red { background-color: lightcoral; } tr.Green { background-color: lightgreen; } tr.Blue { background-color: lightblue; } </style> </head> <body> <div id="tasksPanel" class="panel" ng-controller="studyCtrl"> <h3 class="panel-header">Tasks List</h3> <div class="row well"> <div class="col-xs-6" ng-repeat="(key, val) in settings"> <h4>{{key}}</h4> <div class="radio" ng-repeat="button in buttonNames"> <label> <input type="radio" ng-model="settings[key]" value="{{button}}"/>{{button}} </label> </div> </div> </div> <table class="table"> <thead> <tr> <th>#</th> <th>Tasks</th> <th>Done</th> </tr> </thead> <tr ng-repeat="task in tasks" ng-class="settings.Rows"> <!--ng-class используется для того чтобы можно было динамически изменять CSS класс элемента, здесь используется свойсвто Row объекта settings в котором хранится название стиля "Red"--> <td>{{$index + 1}}</td> <td>{{task.action}}</td> <td ng-style="{'background-color':settings.Columns}"> <!--директива ng-style исользуется для того чтобы непосредственно в элементе задать несколько стилей которые могли бы изменятся динамически здесь используется свойство Columns объекта settings в котором хранится название стиля "Green"--> <!--использовать стили непосредственно в элементе это плохая практика, обычно для этого используются стили, но в AngularJS можно динамически изменять значения этих стилей что является преимуществом, тем не менее лучше и продуктивнее по прежнему использовать классы--> {{task.complete}} </td> </tr> </table> </div> </body> </html>