В Knockout.js как отсортировать элемент viewModel на основе поля флажка после сопоставления - PullRequest
1 голос
/ 27 января 2012

Пример данных, где VoucherRedeemed - это значение checkbox:

{
 VoucherTitle: "title 2",
 VoucherRedeemed: false,
},{
 VoucherTitle: "title 4",
 VoucherRedeemed: true,
},{
 VoucherTitle: "title 6",
 VoucherRedeemed: false,
},{
 VoucherTitle: "title 9",
 VoucherRedeemed: true,
}

Как отсортировать viewModel.voucher на основе значения флажка после сопоставления:

viewModel.voucher = ko.mapping.fromJS(voucherData.voucher)

Я рассмотрел сортировку наблюдаемых массивов, но мне не удалось связать сценарий сопоставления для сортировки значений флажков. (http://knockoutjs.com/documentation/observableArrays.html)

Любой пример того, как отсортировать массив после ko.mapping.fromJS, будет оценен!

Ответы [ 2 ]

6 голосов
/ 27 января 2012

Вы можете выполнить сортировку после заполнения модели представления.

Посмотрите на скрипку, которую я собрал здесь Пример сортировки с выбиванием

Вам нужно позвонитьметод sort для наблюдаемой передачи в функцию для сортировки по желаемому свойству.

0 голосов
/ 27 января 2012

Я понял.

Сортировка данных ваучера перед отображением его в viewModel. Как только он находится в viewModel, не уверен, что это возможно или просто сделать любую сортировку.

...