2016-02-01 3 views
1

В моем угловом приложении мне нужен цвет фона моей строки таблицы, чтобы он был красного цвета, если дата равна сегодняшнему.получить текущую дату в ng-стиле - Angularjs

До сих пор я не удается установить только красным, если значение «2016-01-31»,

Как я могу сделать его работу, если «2016-01-31» была текущая дата?

 <tbody> 
      <tr ng-repeat="issue in data.issues|orderBy:orderByField:reverseSort" ng-style="{'background-color': issue.due_date == '2016-01-31' ? 'red': 'white'}" ng-click="setSelected()"> 
       <td>{{issue.id}}</td> 
       <td>{{issue.project.name}}</td> 
       <td>{{issue.subject}}</td> 
       <td>{{issue.start_date}}</td> 
       <td>{{issue.due_date}}</td> 
       <td>{{issue.priority.name}}</td> 

      </tr> 

     </tbody> 
+0

- это то, как отформатирован ваш 'issue.due_date'? – cocoa

+0

да, это так – eeadev

ответ

1

использовать функцию, чтобы определить, если ваше значение сегодня

<tbody ng-controller="MyCtrl"> 
     <tr ng-repeat="issue in data.issues|orderBy:orderByField:reverseSort" ng-style="{'background-color': isToday(issue.due_date) ? 'red': 'white'}" ng-click="setSelected()"> 
      <td>{{issue.id}}</td> 
      <td>{{issue.project.name}}</td> 
      <td>{{issue.subject}}</td> 
      <td>{{issue.start_date}}</td> 
      <td>{{issue.due_date}}</td> 
      <td>{{issue.priority.name}}</td> 

     </tr> 
    </tbody> 

и определить эту функцию в приложении

.controller('MyCtrl', function($scope){ 
    $scope.today = new Date(); 

    $scope.isToday = function(compareDate){ 
     var today = $scope.today; 
     return compareDate == today.getFullYear() + '-' + today.getDate() + '-' + today.getMonth(); 
    } 
}) 

я также хотел бы предложить использовать классы вместо встроенных стилей, см. ng-class для получения дополнительной информации

+0

спасибо, почему вы предлагаете ng-class? – eeadev

+0

лучший стиль кодирования – electrophanteau

0

Вы можете создать локальную переменную в области видимости что-то вроде

$scope.currentDate = new Date(); 

и затем

ng-style="{'background-color': issue.due_date == currentDate ? 'red': 'white'} 

Я думаю, что формат даты должен быть последовательным в due_date & CurrentDate, поэтому, пожалуйста, убедитесь, что они совместимы.

Надеюсь, это поможет.

+0

Это не будет работать, поскольку currentDate - это объект Date, а length_date - строка в формате YYYY-MM-DD – jcubic

+0

Формат должен быть таким же. Я полагаю, что решение electrophanteau, представленное выше, будет работать нормально. –

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