У меня есть список случайных дат, которые я генерирую на сервере и отправляю обратно в формате json в режим просмотра нокаута в наблюдаемый массив() ([01/02/2016, 01/15/2016, 02/04/2016, 03/05/2016 и т. Д.) И не может полностью обернуть мою голову тем, как перебирать эти даты и создать следующий вывод в html:Цитирование по датам в нокаут и создание группы дат по месяцам
January
-------
01/02/2016
01/15/2016
February
-------
02/04/2016
March
-------
03/05/2016
и т.д ...
Я понимаю основной цикл просмотра в нокауте, и динамически выводить HTML и все такое. Лучше всего было бы создать наблюдаемый массив для каждого месяца, а затем в html покажет только секцию месяца, если длина наблюдаемого массива этого месяца> 0?
var januaryArray = ko.observableArray();
var februaryArray = ko.observableArray();
<ul id="januaryList" data-bind="foreach: januaryArray, visible: januaryArray.length > 0">
.....
<ul id="februaryList" data-bind="foreach: februaryArray, visible: februaryArray.length > 0">
.....
Или есть лучший, более лаконичный способ сделать это с помощью некоторых утверждений if?
могли бы вы просто фильтровать исходный массив для каждого месяца. используя ko.utils.arrayFilter http://www.knockmeout.net/2011/04/utility-functions-in-knockoutjs.html –
Спасибо за комментарий user2744722. Я просмотрел интернет в течение 2 дней, ища решение этого, и, конечно, минут после публикации этого вопроса, я наткнулся на это: http://stackoverflow.com/questions/27163547/group-events-by-date-using-knockoutjs Сегодня вечером я собираюсь решить проблему, и если это поможет решить мою проблему, я отправлю ее, чтобы она могла помочь другим! – JPitts