AngularJs Выберите меню с помощью ng-repeat, первый элемент должен отображаться по-другому

0

Ниже код выводит сегодня дату и еще 7 дней, например 2016-02-01, 2016-02-02, 2016-02-03, 2016-02-04 и т.д., Но на сегодняшний день я не хочу показывать дату пользователю но слово "Сегодня", однако, мне нужны значения в формате даты, поскольку я хочу заполнить его в базе данных при отправке формы.

<select ng-model="item1" style=" width:100%; text-align:center;" ng-change="update()">
<option style="text-indent:30%" ng-repeat="item1 in IdeaMonth"  value="{{item1.one  | date:'yyyy-MM-dd' }}" >
{{item1.one  | date:'dd-MM-yyyy' }}
</option>
</select>
  • 0
    Помог ли вам ответ ниже?
Теги:

1 ответ

1
Лучший ответ

Вам нужен ваш настраиваемый фильтр, где вы можете использовать moment или тот же самый угловой фильтр даты js, чтобы получить необходимое значение:

function compareDateParts(a, b)
{  
    var aMSec, bMSec;
    a = new Date(a);
    b = new Date(b);
    a.setHours(0,0,0,0);
    b.setHours(0,0,0,0);
    aMSec = a.getTime();
    bMSec = b.getTime();
    return aMSec  == bMSec  ? 0 : (aMSec  > bMSec  ? 1 : -1);
 }

angular.module('app').filter('customDate', ['$filter', function($filter) {
    return function(date, format) {
         if(compareDateParts(date, new Date()) == 0) return "TODAY"
         return $filter('date')(date, format);
    };
}]);

Использование {{date | customDate: 'dd-MM-yyyy'}} {{date | customDate: 'dd-MM-yyyy'}}

  • 0
    Мне нужно использовать его с Ionicframework, поэтому вместо angular.module ('app') я должен использовать его в соответствующем контроллере, верно?
  • 0
    хм, на самом деле это не имеет большого значения, ionic использует тот же угол, но расширяет его своими собственными услугами, директивами и так далее. Поэтому вам нужно найти в проекте файл, в котором зарегистрирован основной модуль, например angular.module('myApp', [...]) и использовать имя этого модуля в моем решении.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню