Angularjs контрольный отчет о перерыве

0

Я использую angularjs, чтобы показать историю акций, купленных и проданных по дате. Мои данные состоят из поля unixtimestamp. Я хочу соединить дату вместе, чтобы показать заголовок BAND даты и показать записи этой даты ниже заголовка.

В настоящее время я использую ng-repeat="x in transactions" однако я не могу добавить пользовательское условие if, чтобы проверить, является ли дата новыми данными и вводит заголовок между напечатанными строками.

Вот как я хочу, чтобы результат был

Monday, 12th January 2015

MSFT,BUY,10,1000

YHOO,SELL,50,200

Tuesday, 13th January 2015

MSFT,SELL,40,500

Код в настоящее время

<div ng-repeat="x in transactions" >
            {{ x.transaction_date *1000| date:'MMM-dd-yyyy'}},                {{x.transaction_type}},                {{x.stock_code | limitTo: 10}},                {{x.units}},                Rs. {{x.balance}}
</div>
Теги:
ng-repeat

1 ответ

0

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

ng-repeat="item in transactions"
....
 <div class="header" ng-if="ctrl.checkForNewDate(item)">
     <!-- Header Content -->
 </div>


in the controller
var vm = this;

vm.lastDate = new Date("2000/01/01");

vm.checkForNewDate = checkForNewDate;

function checkForNewDate(item) {
    var dateItem = new Date(item.timestamp);

    if (dateItem == vm.lastDate) {
        return false;
    } else {
        vm.lastDate = dateItem;
        return true;
    }

код как прототип не проверен, извините за это ;-)

  • 0
    огромное спасибо. извините за мое плохое объяснение. Я попробую это прямо сейчас и дам вам знать. еще раз спасибо.
  • 0
    гениально сработало .. спасибо :)

Ещё вопросы

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