2013-09-23 4 views
2

я хочу показать что-то вроде этого:Нокаут - индикаторный элемент, если дата больше

<tr> 
    <td colspan="2" class="center"> 
     <a data-bind="attr: { href: 'https://scyk.pl/Account/UserProfile?user=' + peer}, text: peer"></a> 
    </td> 
</tr> 

, но я хочу, чтобы это весь tr элемент, который будет отображаться только в том случае date (свойство моей модели) больше, чем (current date-15min) , Как я могу это сделать?

ответ

2

Оберните tr элемент в virtual element, который использует if связывания:

<!-- ko if: date().getTime() > new Date().getTime() - 900000 --> 
    <tr> 
     ... 
    </tr> 
<!-- /ko --> 

Вышеуказанные работы, но выражение, которое делает вычисление даты действительно должны быть частью модели представления. Уборщик способ добавить вычисляемый к вашей модели представления:

model.isDateAfterFifteenMinutesAgo = ko.computed(function() { 
    return model.date().getTime() > new Date().getTime() - 900000; 
}); 

И затем использовать <!-- ko if: isDateAfterFifteenMinutesAgo --> в вашем HTML.

+0

Это помогло. Благодаря! – ojek

+2

Пожалуйста, начните использовать ViewModel. Его там по какой-то причине – Anders

+1

Отредактировано, что предлагаю использовать модель. –

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